Contient dans la requête 1s. Semblable aux conditions de requête. Exemple : sélectionner des produits dont le nom se termine par un chiffre

L'opérateur LIKE dans une requête vérifie les valeurs de chaîne des tables pour la similarité avec un modèle.
Il est utilisé comme suit à gauche de cet opérateur se trouve la chaîne à vérifier, et à droite se trouve le modèle.

Après vérification, il renvoie respectivement True ou False, il est activement utilisé dans les conditions.
Les symboles de service suivants sont utilisés pour créer un modèle :

  • % (pourcentage) - une séquence contenant n'importe quel nombre de caractères arbitraires
  • _ (trait de soulignement) - un caractère arbitraire
  • […] (un ou plusieurs caractères entre crochets) - tout caractère unique répertorié entre crochets
    De plus, en plus de divers caractères, des plages peuvent être utilisées, par exemple a-z(A-z), ce qui signifie qu'il y a un caractère arbitraire inclus dans la plage, y compris les extrémités de la plage.
  • [^…] (entre crochets un signe de négation suivi d'un ou plusieurs caractères) - tout caractère unique, à l'exception de ceux répertoriés après le signe de négation

Les caractères restants sont utilisés conformément à leur destination.
Si l'un des caractères de service ci-dessus doit être transmis en tant que caractère, il doit être précédé de<Спецсимвол>. Moi-même<Спецсимвол>(tout caractère approprié) est défini dans la même instruction après le mot clé SPECIAL CHARACTER.
Par exemple, le modèle « %ABC[abc]\_abc% » CARACTÈRE SPÉCIAL « \ » désigne une sous-chaîne composée d'une séquence de caractères :
lettres A ; lettres B ; lettres B ; Un chiffre; une des lettres a, b, c ou d ; caractère de soulignement ; lettres a ; lettres b ; lettres dans.
De plus, cette séquence peut être précédée d'un ensemble arbitraire de caractères.

Procédure SelectContractContainingInNameText(mText)
//Dans la requête, nous utiliserons un modèle comme "%" + mText + "%" Request = New Request ; Query.SetParameter("Nom", "%" + Texte + "%"); Query.Text = "SELECT | Accords.Référence, | Accords.Propriétaire |FROM | Directory.AgreementsofCounterparties AS Accords | |WHERE | Accords.Name LIKE &Name" ; Résultat = Request.Run(); Sélection = Result.Select(); Report("Les accords contenant dans le nom : " + mText + " ont les contreparties suivantes"); While Selection.Next() Loop Report("Compte : " + Selection.Owner + "; Contract: " + Selection.Reference EndIf; EndProcedure

Dans cet article, nous voulons discuter avec vous tous fonctions de langage de requête 1s, aussi bien que constructions de langage de requête. Quelle est la différence entre une fonction et une structure ? La fonction est appelée avec des parenthèses et des paramètres possibles, et la construction est écrite sans parenthèses. Indubitablement toutes les constructions et fonctions du langage de requête 1s rendre le processus d'acquisition de données flexible et multifonctionnel. Ces fonctions et constructions s'appliquent aux champs de requête, et certaines s'appliquent également aux conditions.

Fonctions de langage de requête 1s

Depuis une description claire fonctions de langage de requête 1s est beaucoup moins courant que la description des structures, nous avons décidé de commencer à nous intéresser aux fonctions. Analysons maintenant chacun séparément, en décrivant son objectif, sa syntaxe et son exemple d'utilisation, donc :

1. Fonction DATE HEURE - fonction donnée crée un champ constant de type "Date".

Syntaxe: DATE HEURE(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Exemple d'utilisation :

2. Fonction DATE DECALAGE- renvoie la différence de deux dates dans l'une des dimensions (année, mois, jour, heure, minute, seconde). La mesure est passée en paramètre.

Syntaxe: DATE DE DIFFERENCE(<Дата1>, <Дата2>, <Тип>)

Exemple d'utilisation :

Query.Text = "SELECT | DATE DIFFERENCE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS Nombre de jours" ;

3. Fonction VALEUR- définit un champ constant avec une entrée prédéfinie de la base de données, vous pouvez également obtenir une référence nulle de n'importe quel type.

Syntaxe : VALEUR(<Имя>)

Exemple d'utilisation :

Query.Text = "SELECT //élément prédéfini | VALUE(Currency.Dollar.Catalog.Dollar) AS Dollar, //référence vide | VALUE(Document.IncomingGoodsServices.EmptyReference) AS Receipt, //valeur de transfert | VALUE(Transfer.LegalIndividual .Individu) AS Individuel, //compte prédéfini | VALEUR(Plan comptable.Autoportant.Matériaux) AS Compte_10" ;

4. Fonction SELECT- nous avons un analogue de la construction IF qui est utilisé dans le code, seul celui-ci est utilisé dans les requêtes 1C.

Syntaxe: CHOIX QUAND<Выражение>ALORS<Выражение>PAR AILLEURS<Выражение>LA FIN

Exemple d'utilisation :

Request.Text = //si le montant est supérieur à 7500, alors il devrait y avoir une remise de 300 roubles, //par conséquent, si la condition est déclenchée, alors la fonction //renvoie le Montant - 300 //sinon, la demande renverra simplement le montant "SELECT | SELECT | WHEN PMIncome.Amount > 7500 | THEN PTReceipts.Amount - 300 | ELSE PTReceipts.Amount | END AS AmountDiscounted |FROM | Document.ReceiptofGoodsServices.Goods AS PTReceipts" ;

5. Fonction EXPRESS- permet d'exprimer un champ constant avec un type spécifique.

Syntaxe: EXPRESS(NomChamp COMME NomType)

Exemple d'utilisation :

Query.Text = "SELECT VARIOUS | Sales.Registrar.Number, | SELECT | WHEN Sales.Registrar REF Document.Expense | THEN EXPRESS(Sales.Registrar AS Document.Expense) | ELSE SELECT | WHEN Sales.Registrar REF Document.Implementation | THEN EXPRESS(Sales.Registrar AS Document.Release) | END | ... | END AS Number | FROM | Accumulation Register.Purchases AS Purchases" ;

Existe-t-il encore une variante d'utilisation de la fonction EXPRESS dans des champs de types mixtes où de tels se rencontrent ? L'exemple le plus simple est le "Registrar" pour n'importe quel registre. Alors pourquoi aurions-nous besoin de qualifier le type dans le bureau d'enregistrement ? Considérons la situation lorsque nous sélectionnons le champ "Numéro" du bureau d'enregistrement, à partir de quelle table le numéro sera-t-il sélectionné ? Bonne réponse de tous ! Par conséquent, pour que notre requête fonctionne rapidement, nous devons spécifier un type explicite à l'aide de la fonction EXPRESS

Exemple d'utilisation :

Query.Text = "CHOOSE | EXPRESS(Nomenclature.Comment AS String(300)) AS Comment, | EXPRESS(Nomenclature.Sum AS Number(15,2)) AS Sum |FROM | Reference.Nomenclature AS Nomenclature" ;

6. Fonction ISNULL(orthographe alternative IS NULL) - si le champ est de type NULL, alors il est remplacé par le second paramètre de la fonction.

Syntaxe: ISNULL(<Поле>, <ПодставляемоеЗначение>)

Exemple d'utilisation :

Notez également qu'il est souhaitable de TOUJOURS remplacer le type NULL par une valeur, car la comparaison avec NULL donne toujours la valeur FALSE même si vous comparez NULL avec NULL. Le plus souvent, les valeurs NULL sont formées à la suite de jointures de table (tous les types de jointures sauf internes).

Query.Text = //Sélectionnez l'article entier et les soldes dessus //s'il n'y a pas de solde dans un article, alors il y aura un champ //NULL qui sera remplacé par la valeur 0 "SELECT | No.Reference, | ISNULL(GoodsInWarehouseRemains.InStockRemaining, 0) HOW Reste | FROM | Répertoire. Nomenclature AS Nom | LEFT JOIN Registre d'accumulation.

7. Fonction REPRÉSENTATION- permet d'obtenir une représentation du champ de la requête.

Syntaxe: PERFORMANCE(<НаименованиеПоля>)

Exemple d'utilisation :

Query.Text = "SELECT | REPRESENTATION(Free RemainsRemains.Nomenclature) AS Nomenclature, | REPRESENTATION(FreeRemainsRemains.Warehouse) AS Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Accumulation Register.FreeRemains.Remains AS FreeRemainsRemains" ;

Constructions dans le langage de requête 1s

Ci-dessus, nous avons discuté avec vous fonctions de langage de requête 1s, il est maintenant temps de considérer constructions en langage de requête 1s, ils n'en sont pas moins importants et utiles, commençons.

1. Construction LIEN- est un opérateur de vérification de type de référence logique. Le plus souvent rencontré lors du test d'un champ d'un type composite pour un type particulier. Syntaxe: LIEN<Имя таблицы>

Exemple d'utilisation :

Query.Text = //si le type de valeur du bureau d'enregistrement est Document Receipt, //alors la requête renverra "Incoming Goods", sinon "Sale of Goods" "SELECT | SELECT | WHEN Remains.Registrar LINK Document.Incoming GoodsServices | THEN ""Entrée" | ELSE "Dépense" | END AS Type de mouvement | FROM | Registre d'accumulation. Restes de marchandises dans les entrepôts AS Restes " ;

2. Construction ENTRE- cet opérateur vérifie si la valeur est dans la plage spécifiée.

Syntaxe: ENTRE<Выражение>Et<Выражение>

Exemple d'utilisation :

Query.Text = //récupérer toute la nomenclature dont le code est compris entre 1 et 100 "SELECT | Nomenclature.Reference |FROM | Catalog.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code BETWEEN 1 AND 100" ;

3. Construction B et B de la HIÉRARCHIE- vérifier si la valeur est dans la liste passée (les tableaux, tableaux de valeurs, etc. peuvent être passés sous forme de liste). L'opérateur EN HIERARCHIE permet de visualiser la hiérarchie (exemple d'utilisation de PlanAccounts).

Syntaxe: À(<СписокЗначений>), DANS LA HIÉRARCHIE(<СписокЗначений>)

Exemple d'utilisation :

Query.Text = // sélectionne tous les sous-comptes du compte "SELECT | Autoportant. Lien AS Compte | FROM | Plan de Comptes. Autoportant AS Autoportant | WHERE | Autoportant. Référence IN HIERARCHY VALUE( Liste des comptes. Biens autosuffisants)" ;

4. Construction COMME- cette fonction nous permet de comparer une chaîne à un modèle de chaîne.

Syntaxe: COMME"<ТекстШаблона>"

Options de modèle de ligne :

% - une séquence contenant n'importe quel nombre de caractères arbitraires.

Un caractère arbitraire.

[...] - n'importe quel caractère ou une suite de caractères entre crochets. L'énumération peut contenir des plages, telles que a-z, c'est-à-dire n'importe quel caractère dans la plage, y compris les extrémités de la plage.

[^...] - tout caractère unique ou une séquence de caractères répertoriés entre crochets, à l'exception de ceux répertoriés après le signe de négation.

Exemple d'utilisation :

Query.Text = //trouver la nomenclature entière qui contient la racine TABUR et commence //soit par un petit soit par une majuscule t "SELECT | Nomenclature.Reference |FROM | Directory.Nomenclature AS Nomenclature |WHERE | Goods.Name LIKE ""[Тт ]abur%""" ;

5. Conception AUTORISÉE- cette instruction vous permet de sélectionner uniquement les enregistrements de la base de données pour lesquels l'appelant a le droit de lire. Ces droits sont configurés au niveau de l'enregistrement (RLS).

Syntaxe: ALLOWED est écrit après le mot-clé SELECT

Exemple d'utilisation :

Query.Text = "SÉLECTIONNER AUTORISÉ | Contreparties.Référence |FROM | Directory.Counterparties AS Counterparties" ;

6. Construction DIVERS- vous permet de sélectionner des enregistrements dans lesquels il n'y a pas d'enregistrements répétés.

Syntaxe: DIFFERENT est écrit après le mot clé SELECT

Exemple d'utilisation :

Request.Text = //sélectionne les enregistrements sur lesquels le lecteur a des droits "SELECT DIFFERENT | Counterparties.Name |FROM | Directory.Counterparties AS Counterparties" ;

La construction DIFFERENT peut également être utilisée avec l'opérateur ALLOWED et d'autres opérateurs.

Exemple d'utilisation :

Query.Text = //sélectionne différents enregistrements sur lesquels le lecteur a des droits "SELECT ALLOWED DIFFERENT | Contractors.Name |FROM | Directory.Contractors AS Contractors" ;

7. Construction PREMIER- sélectionne le nombre d'enregistrements spécifiés dans le paramètre à partir du résultat de la requête.

Syntaxe : PREMIER<число>

Exemple d'utilisation :

Query.Text = //sélectionnez les 4 premiers numéros GTD du répertoire "SELECT THE FIRST 4 | GTD Numbers.Reference |FROM | Catalog.GTE Numbers AS GTD Numbers" ;

8. Concevoir POUR LE CHANGEMENT- vous permet de verrouiller la table, ne fonctionne que dans les transactions (pertinent uniquement pour les verrous automatiques).

Syntaxe: POUR CHANGER<НаименованиеТаблицы>

Exemple d'utilisation :

Query.Text = "SELECT | FreeRemainsRemains.Nomenclature, | FreeRemainsRemains.Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Accumulation Register.FreeRemains.Remains AS FreeRemainsRemains |FOR CHANGE |

9. Structure ORDRE PAR- trie les données par un champ spécifique. Si le champ est un lien, alors lors de la définition de l'indicateur COMMANDE AUTOMATIQUE seront triés selon la représentation du lien, si le drapeau est éteint, alors les liens sont triés par l'ancienneté de l'adresse du lien en mémoire.

Syntaxe: TRIER PAR<НаименованиеПоля>COMMANDE AUTOMATIQUE

Exemple d'utilisation :

Query.Text = "SELECT | FreeRemainsRemains.Nomenclature AS Nomenclature, | FreeRemainsRemains.Warehouse AS Warehouse, | FreeRemainsRemains.In StockRemaining |FROM |

10. Conception GROUPER PAR- utilisé pour regrouper les chaînes de requête par certains champs. Les champs numériques doivent être utilisés avec n'importe quelle fonction d'agrégation.

Syntaxe: PAR GROUPE<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Exemple d'utilisation :

Query.Text = "SELECT | ItemsInWarehouse.Nomenclature AS Nomenclature, | ItemsInWarehouse.Warehouse, | SUM(ItemsInWarehouse.InStock) AS InStock |FROM |

11. Conception AYANT- permet d'appliquer une fonction d'agrégation à la condition de sélection des données, similaire à la construction WHERE.

Syntaxe: AYANT<агрегатная функция с условием>

Exemple d'utilisation :

Query.Text = //sélectionne les enregistrements groupés où le champ InStock est supérieur à 3 "SELECT | GoodsInStock.Nomenclature AS Nomenclature, | GoodsInWarehouse.Warehouse, | SUM(ItemsInWarehouse.InStock) AS InStock |FROM | Accumulation Register.GoodsInWarehouses AS GoodsInWarehouses | |GROUPER PAR | MarchandisesEn Entrepôts.Nomenclature, | MarchandisesEn Entrepôts.Entrepôt | |AVOIR | MONTANT(MarchandisesEn Entrepôts.En Stock) > 3" ;

12. Construction INDEX BY- utilisé pour indexer le champ de requête. Une requête indexée prend plus de temps à se terminer, mais accélère les recherches sur les champs indexés. Ne peut être utilisé que dans les tables virtuelles.

Syntaxe: INDEXER PAR<Поле1, ... , ПолеN>

Exemple d'utilisation :

Query.Text = "SELECT | Tz.OS Name, | Tz.Folder Number, | Tz.CodeOS, | Tz.Term, | Tz.Type |PUT DataTz |FROM | &Tz HOW Tz | | INDEX BY | Tz.OS Name , | Tz .CodeOS" ;

13. Construction OÙ- permet d'imposer une condition sur n'importe quel champ de la sélection. Seuls les enregistrements qui remplissent la condition seront inclus dans le résultat.

Syntaxe: OÙ<Условие1 ОператорЛогСоединения УсловиеN>

Exemple d'utilisation :

Query.Text = //sélectionner tous les enregistrements avec CompensationRemainder<>0 et //AmountFor Calc.CompBalance > 100 "SELECT | Compensation RPO balances.Account, | Compensation RPO balances.Child, | Compensation RPO balances. Compensation Balance, | Compensation RPO balances. AmountFor Calc. Comp Balance | PLACE DataTz |FROM | Registre d'accumulation Compensation RP Soldes AS Compensation RPO Soldes |<>0 | Et soldes RPO de compensation. Montant pour CalcComp Résiduel > 100" ;

14. RÉSULTATS DE CONCEPTION ... PAR GÉNÉRAL- utilisé pour calculer les totaux, le design précise les champs pour lesquels les totaux seront calculés et fonctions d'agrégation appliqué aux champs récapitulatifs. Lorsque vous utilisez des totaux pour chaque champ après la construction TOTAUX, les données sont regroupées. Il existe une construction facultative GENERAL, son utilisation fournit également un regroupement supplémentaire. Vous pouvez voir un exemple du résultat de la requête ci-dessous.

Syntaxe: RÉSULTATS<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>SUR<ОБЩИЕ> <Поле1, ... , ПолеN>

Exemple d'utilisation :

Query.Text = "CHOISIR | Settlements.Counterparty Agreement.Type of Agreement AS Type of Agreement, | Settlements.Countryparty Agreement AS Agreement, | Settlements.Counterparty, | Settlements.Amount of Mutual SettlementsBalance AS Balance |FROM | | Software | GENERAL, |Type de contrat" ;

Les regroupements qui ont été formés lors de l'exécution de la demande sont encerclés dans la figure, celui du haut fait référence à la section GENERAL et le second au champ ContractContractorTypeContract.

Malgré toutes les lacunes, la recherche par champ de texte reste l'une des plus populaires. Nous pouvons rencontrer des types de données de chaîne partout - les noms, les numéros de compte, les adresses et d'autres informations peuvent être stockés dans ce format. Dans les requêtes dans le langage 1C intégré, pour la commodité des développeurs, opérateur spécial"COMME". C'est l'une des commandes les plus utilisées, donc sans une connaissance approfondie de sa syntaxe et de ses capacités, il sera difficile pour un programmeur de travailler.

Utilisation de l'opérateur "LIKE"

Avant de mettre un opérateur en pratique, vous devez comprendre clairement son objectif, ses lieux d'application et sa syntaxe. Le but de l'utilisation de "LIKE" dans la requête 1C est de vérifier la satisfaction de la condition présentée comme modèle. La valeur de retour est un booléen, vrai ou faux, indiquant si la condition spécifiée est remplie. L'opérateur LIKE peut être utilisé à plusieurs endroits dans une requête :

  • Dans le bloc de conditions étiqueté mot-clé"OÙ";
  • Dans la construction Choice When Then Else End ;
  • Directement dans les champs de sélection, à la suite de la comparaison des champs.

La syntaxe du contrôle est toujours la même et se compose de 3 liens. À gauche se trouve la valeur de texte en cours de vérification, puis l'opérateur "LIKE" lui-même, et à droite se trouve le modèle en cours de vérification. Pour une création rapide et facile de modèles, il existe Symboles spéciaux faciliter le développement :

  1. "%" - une séquence de n'importe quel caractère longueur arbitraire. Utilisé pour rechercher des mots ou des nombres individuels dans une chaîne ;
  2. "_" est n'importe quel caractère unique. Conçu pour indiquer la présence d'un caractère ;
  3. "[...]" est une séquence de caractères à comparer avec un signe dans la chaîne. À l'aide d'un tel modèle, une correspondance est vérifiée pour l'un des caractères répertoriés entre parenthèses. Vous pouvez également spécifier une plage de chiffres ou de lettres ([a-g], );
  4. "[^…]" est l'opposé du modèle précédent. La différence entre le caractère spécifié dans la chaîne et ceux indiqués entre parenthèses est vérifiée.

Pour mieux assimiler et comprendre les principes de création de templates corrects, regardons quelques exemples que l'on rencontre souvent dans la vie des développeurs. Le premier est lorsque nous devons sélectionner dans le livre de référence de la nomenclature toutes les positions dans les noms desquelles le mot "CUTTER" apparaît. Dans ce cas, nous devons utiliser LIKE dans les conditions de requête :

SELECT Nomenclature.Nom AS Nom FROM Répertoire.Nomenclature AS Nomenclature WHERE Nomenclature.Nom LIKE "%CUTTER%"

Si nous supprimons les deux caractères "%", la requête affichera la nomenclature, dans laquelle le nom correspond parfaitement à celui indiqué entre guillemets. Si nous laissons le modèle "CUTTER%" ou "%CUTTER", alors le résultat sera une liste de nomenclature se terminant ou commençant, respectivement, par une combinaison donnée de caractères.


Analysons un problème qui peut dérouter les programmeurs novices qui ne connaissent pas la syntaxe de la requête. Disons que vous devez trouver toute la nomenclature, au nom de laquelle il y a un symbole "%". Surtout pour les cas où vous devez rechercher des caractères réservés, il existe un opérateur "caractère spécial". En tant que caractère spécial, vous pouvez utiliser #, \, /, ~ et d'autres caractères, après quoi tout caractère réservé désignera simplement un caractère.

SELECT Nomenclature.Nom AS Nom FROM Répertoire.Nomenclature AS Nomenclature WHERE Nomenclature.Nom LIKE "%#%" CARACTÈRE SPÉCIAL "#"

Si vous devez utiliser un paramètre dans la recherche, la variable de la requête avec le paramètre LIKE est utilisée en ajoutant. N'oubliez pas que le paramètre doit être un type de chaîne ou vous devrez le convertir en chaîne dans la requête. C'est une opération assez compliquée et il vaut mieux l'exclure à l'avance.

SELECT Nomenclature.Nom AS Nom FROM Recherche.Nomenclature AS Nomenclature WHERE Nomenclature.Nom LIKE "%" + &nom + "%"

La fonction LIKE est applicable dans toutes les versions de la plate-forme, à partir de 8, et en raison de son applicabilité, les développeurs 1C ne voudront pas la modifier. Bien sûr, la recherche de texte dépend toujours de la précision de la saisie du nom, mais elle reste toujours l'une des plus courantes. À cet égard, les développeurs professionnels 1C doivent étudier l'utilisation de LIKE avec toutes ses nuances.

43
NULL - valeurs manquantes. A ne pas confondre avec nul ! NULL n'est pas un nombre, pas égal à un espace, référence nulle, indéfini. NULL est une valeur formant un type, c'est-à-dire il existe un type NULL et une seule valeur de ce type. NUL... 26
Pour former et exécuter des requêtes vers des tables de base de données dans la plate-forme 1C, un objet spécial du langage de programmation Request est utilisé. Cet objet est créé en appelant la construction New Request. Demande pratique... 18
L'article fournit des astuces utiles lorsque vous travaillez avec des requêtes 1C v.8.2, ainsi que des informations peu connues sur le langage de requête. je n'essaie pas de donner Description complète langage de requête, mais je veux me concentrer uniquement sur ... 12
Face à la tâche, il fallait sélectionner tous les documents pour le paiement et les regrouper par type de document ! En parcourant tous les logements, les services communaux et Internet, j'ai réalisé que moyen facile obtenir le type de document dans la demande no :(je devais...

Opérateur COMME permet de comparer dans une requête les données de type chaîne à gauche de l'opérateur avec les données de type chaîne à droite de l'opérateur. Le résultat de la comparaison est Vrai ou Faux, la comparaison peut donc être appliquée comme condition.

Pour l'opérateur COMME des caractères de service spéciaux sont fournis qui ne sont pas perçus comme une chaîne :

  • "%" symbole de pourcentage : indique la présence d'un nombre quelconque de caractères arbitraires dans la chaîne
  • "[...]" un ou plusieurs caractères entre crochets : indique la présence d'un (un seul) des caractères répertoriés. De plus, une plage de caractères peut être spécifiée (par exemple )
  • Caractère de soulignement "_" : indique la présence de tout caractère arbitraire
  • "[^...]" caractère de négation : indique la présence de tout caractère unique autre que ceux entre crochets
Si vous devez spécifier l'un des caractères spéciaux ci-dessus à des fins de comparaison, vous devez utiliser le mot-clé "CARACTÈRE SPÉCIAL"

Fonctionnalités d'utilisation avec divers SGBD

IBMDB2" Seul un paramètre peut être situé à droite de l'opérateur LIKE. Les seuls caractères génériques sont "_" (trait de soulignement signifiant n'importe quel caractère) et "%" (pourcentage signifiant une séquence de n'importe quel caractère).
Dans le cas de l'utilisation d'un SGBD " PostgreSQLName" ou " Base de données Oracle"les caractères spéciaux "crochets [...]" ne sont acceptés que s'ils sont spécifiés par le texte de la requête et ne sont PAS transmis en tant que paramètre à la requête.

Ainsi, dans la base du fichier, les caractères spéciaux seront toujours perçus de la même façon, et de façon différente selon le SGBD utilisé dans la version client-serveur.

Exemple : sélectionnez les produits contenant le symbole "%" dans le nom

CHOISIR | Lien de référence | Spravochnik.Nomenclature COMMENT réf | Nom de référence COMME "%\%" CARACTÈRE SPÉCIAL "\"

Exemple : sélectionner des produits dont le nom commence par le mot "Tank"

CHOISIR | Lien de référence | Spravochnik.Nomenclature COMMENT réf | Nom de référence COMME "Buck%"

Exemple : sélectionner des produits dont le nom se termine par un chiffre

CHOISIR | Lien de référence | Spravochnik.Nomenclature COMMENT réf | Nom de référence COMME "%"