Fonctions de chaîne
Avec CLEM, vous pouvez exécuter des opérations pour comparer des chaînes, créer des chaînes ou accéder à des caractères.
Dans CLEM, une chaîne est une séquence de caractères entre des guillemets ("string quotes"). Les caractères (CHAR) peuvent être tout caractère alphanumérique unique. Ils sont déclarés dans des expressions CLEM à l'aide de guillemets simples inversés sous la forme `<character>`, par exemple `z`, `A`ou `2`. Les caractères qui sont hors limites ou les index négatifs d'une chaîne entraînent un comportement non défini.
Remarque: les comparaisons entre les chaînes qui utilisent et n'utilisent pas la fonctionnalité SQL Pushback peuvent générer des résultats différents lorsqu'il existe des espaces de fin.
| Fonction | Résultat | Descriptif |
|---|---|---|
allbutfirst(N, STRING) |
Chaîne | Renvoie une chaîne, qui est STRING avec les N premiers caractères supprimés. |
allbutlast(N, STRING) |
Chaîne | Renvoie une chaîne, qui est STRING avec les derniers caractères supprimés. |
alphabefore(STRING1, STRING2) |
Booléen | Permet de vérifier l'ordre alphabétique des chaînes. Renvoie la valeur true si STRING1 précède STRING2. |
count_substring(STRING, SUBSTRING) |
Entier | Renvoie le nombre de fois où la sous-chaîne spécifiée apparaît dans la chaîne. Par exemple, count_substring("foooo.txt", "oo") renvoie 3. |
endstring(LENGTH, STRING) |
Chaîne | Extrait les N derniers caractères de la chaîne spécifiée. Si la longueur de la chaîne est inférieure ou égale à la longueur spécifiée, elle reste inchangée. |
hasendstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à isendstring(SUBSTRING, STRING). |
hasmidstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à ismidstring(SUBSTRING, STRING) (sous-chaîne imbriquée). |
hasstartstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à isstartstring(SUBSTRING, STRING). |
hassubstring(STRING, N, SUBSTRING) |
Entier | Cette fonction est identique à issubstring(SUBSTRING, N, STRING), où N prend par défaut la valeur 1. |
hassubstring(STRING, SUBSTRING) |
Entier | Cette fonction est identique à issubstring(SUBSTRING, 1, STRING), où N prend par défaut la valeur 1. |
isalphacode(CHAR) |
Booléen | Renvoie la valeur true (vrai) si CHAR est un caractère de la chaîne spécifiée (souvent un nom de zone) dont le code de caractère est une lettre. Sinon, cette fonction renvoie la valeur 0. Par exemple, isalphacode(produce_num(1)). |
isendstring(SUBSTRING, STRING) |
Entier | Si la chaîne STRING se termine par la sous-chaîne SUBSTRING, cette fonction renvoie l'indice entier de SUBSTRING dans STRING. Sinon, cette fonction renvoie la valeur 0. |
islowercode(CHAR) |
Booléen | Renvoie la valeur true si CHAR est un caractère en minuscules pour la chaîne spécifiée (souvent un nom de zone). Sinon, cette fonction renvoie la valeur 0. Par exemple, islowercode(``) et islowercode(country_name(2)) sont des expressions valides. |
ismidstring(SUBSTRING, STRING) |
Entier | Si SUBSTRING est une sous-chaîne de STRING mais qu'elle ne commence pas par le premier caractère de STRING ou qu'elle ne se termine pas par le dernier, cette fonction renvoie l'indice auquel la sous-chaîne commence. Sinon, cette fonction renvoie la valeur 0. |
isnumbercode(CHAR) |
Booléen | Renvoie la valeur true (vrai) si CHAR pour la chaîne spécifiée (souvent un nom de zone) est un caractère dont le code de caractère est un chiffre. Sinon, cette fonction renvoie la valeur 0. Par exemple, isnumbercode(product_id(2)). |
isstartstring(SUBSTRING, STRING) |
Entier | Si la chaîne STRING commence par la sous-chaîne SUBSTRING, cette fonction renvoie l'indice 1. Sinon, cette fonction renvoie la valeur 0. |
issubstring(SUBSTRING, N, STRING) |
Entier | Recherche dans la chaîne STRING, à partir de son caractère Nth , une sous-chaîne égale à la chaîne SUBSTRING. Si elle est trouvée, cette fonction renvoie l'indice entier auquel commence la sous-chaîne correspondante. Sinon, cette fonction renvoie la valeur 0. Si N n'est pas indiqué, la valeur par défaut de cette fonction est 1. |
issubstring(SUBSTRING, STRING) |
Entier | Recherche la chaîne STRING. Si elle est trouvée, cette fonction renvoie l'indice entier auquel commence la sous-chaîne correspondante. Sinon, cette fonction renvoie la valeur 0. |
issubstring_count(SUBSTRING, N, STRING) |
Entier | Renvoie l'index de l'occurrence Nth de SUBSTRING dans le STRINGspécifié. S'il y a moins de N occurrences de SUBSTRING, 0 est renvoyé. |
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) |
Entier | Cette fonction est identique à issubstring, mais la correspondance est contrainte de commencer sur STARTLIM et de se terminer sur ENDLIM. Les contraintes STARTLIM ou ENDLIM peuvent être désactivées en fournissant la valeur false pour l'un ou l'autre des arguments. Par exemple, issubstring_lim(SUBSTRING, N, false, false,
STRING) est identique à issubstring. |
isuppercode(CHAR) |
Booléen | Renvoie la valeur true (vrai) si CHAR est une lettre majuscule. Sinon, cette fonction renvoie la valeur 0. Par exemple, isuppercode(``) et isuppercode(country_name(2)) sont des expressions valides. |
last(STRING) |
Chaîne | Renvoie le dernier caractère CHAR de STRING (qui doit comporter au moins un caractère). |
length(STRING) |
Entier | Renvoie la longueur de la chaîne STRING (c'est-à-dire le nombre de caractères qu'elle contient). |
locchar(CHAR, N, STRING) |
Entier | Permet d'identifier l'emplacement des caractères dans les zones symboliques. La fonction recherche le caractère CHARdans la chaîne STRING , en commençant par le caractère Nth de STRING. Cette fonction renvoie une valeur indiquant l'emplacement (à partir de N) où se trouve le caractère. Si le caractère est introuvable, cette fonction renvoie la valeur 0. Si la fonction a un décalage non valide (N) (par exemple, un décalage au-delà de la longueur de la chaîne), elle renvoie $null$. Par exemple, locchar(`n`, 2,
web_page) recherche dans la zone appelée web_page le caractère `n` commençant par le deuxième caractère de la valeur de la zone. Veillez à utiliser des guillemets simples pour encapsuler le caractère spécifié. |
locchar_back(CHAR, N, STRING) |
Entier | Similaire à locchar, sauf que la recherche est effectuée en amont à partir du caractère Nth . Par exemple, locchar_back(`n`, 9,
web_page) recherche la zone web_page en commençant par le neuvième caractère et en remontant vers le début de la chaîne. Si la fonction a un décalage non valide (par exemple, un décalage supérieur à la longueur de la chaîne), elle renvoie $null$. Dans l'idéal, vous devez utiliser locchar_back avec la fonction length(<field>) pour utiliser dynamiquement la longueur de la valeur en cours du champ. Par exemple, locchar_back(`n`, (length(web_page)), web_page). |
lowertoupper(CHAR) lowertoupper (STRING) |
CHAR ou Chaîne | L'entrée peut être une chaîne ou un caractère, qui est utilisé dans cette fonction pour renvoyer un nouvel élément du même type, avec tous les caractères minuscules convertis en majuscules. Par exemple, lowertoupper(`a`), lowertoupper(“My string”)et lowertoupper(field_name(2)) sont toutes des expressions valides. |
matches |
Booléen | Renvoie true si une chaîne correspond à un modèle spécifié. Le modèle doit être un littéral chaîne ; il ne peut pas s'agir d'un nom de zone contenant un modèle. Vous pouvez inclure un point d'interrogation (?) dans le modèle pour qu'il corresponde exactement à un caractère ; un astérisque (*) correspond à zéro ou plusieurs caractères. Pour faire correspondre un point d'interrogation littéral ou un astérisque (au lieu de les utiliser comme caractères génériques), utilisez une barre oblique inversée (\) comme caractère d'échappement. |
replace(SUBSTRING, NEWSUBSTRING, STRING) |
Chaîne | Dans le STRINGspécifié, remplacez toutes les instances de SUBSTRING par NEWSUBSTRING. |
replicate(COUNT, STRING) |
Chaîne | Renvoie une chaîne composée de la chaîne d'origine copiée le nombre de fois spécifié. |
stripchar(CHAR,STRING) |
Chaîne | Permet de supprimer des caractères spécifiés d'une chaîne ou d'une zone. Vous pouvez utiliser cette fonction, par exemple, pour supprimer des symboles supplémentaires, tels que des notations de devise, des données afin d'obtenir un nombre ou un nom simple. Par exemple, l'utilisation de la syntaxe stripchar(`$`, 'Cost') renvoie une nouvelle zone avec le signe dollar supprimé de toutes les valeurs. Veillez à utiliser des guillemets simples pour encapsuler le caractère spécifié. |
skipchar(CHAR, N, STRING) |
Entier | Recherche dans la chaîne STRING tout caractère autre que CHAR, en commençant par le caractère Nth . Cette fonction renvoie une sous-chaîne entière indiquant le point où elle est trouvée ou 0 si chaque caractère de Nth est un CHAR. Si la fonction a un décalage non valide (par exemple, un décalage supérieur à la longueur de la chaîne), elle renvoie $null$. locchar est souvent utilisé conjointement avec les fonctions skipchar pour déterminer la valeur de N (point où commencer la recherche dans la chaîne). Par exemple, skipchar(`s`, (locchar(`s`, 1,
"MyString")), "MyString"). |
skipchar_back(CHAR, N, STRING) |
Entier | Similaire à skipchar, sauf que la recherche est effectuée en amont, en commençant par le caractère Nth . |
startstring(N, STRING) |
Chaîne | Extrait les premiers caractères N de la chaîne spécifiée. Si la longueur de la chaîne est inférieure ou égale à la longueur spécifiée, elle reste inchangée. |
strmember(CHAR, STRING) |
Entier | Equivalent à locchar(CHAR, 1, STRING). Elle renvoie une sous-chaîne entière indiquant le point où CHAR apparaît pour la première fois, ou 0. Si la fonction a un décalage non valide (par exemple, un décalage supérieur à la longueur de la chaîne), elle renvoie $null$. |
subscrs(N, STRING) |
CARACT. | Renvoie le Nth caractère CHAR de la chaîne d'entrée STRING. Cette fonction peut également être écrite sous la forme abrégée STRING(N). Par exemple, lowertoupper(“name”(1)) est une expression valide. |
substring(N, LEN, STRING) |
Chaîne | Renvoie une chaîne SUBSTRING, qui se compose des LEN caractères de la chaîne STRING, en commençant par le caractère à l'indice N. |
substring_between(N1, N2, STRING) |
Chaîne | Renvoie la sous-chaîne de STRING, qui commence à l'indice N1 et se termine à l'indice N2. |
textsplit(STRING, N, CHAR) |
Chaîne | textsplit(STRING,N,CHAR) renvoie la sous-chaîne entre l'occurrence Nth-1 et Nth de CHAR. Si N a pour valeur 1, la sous-chaîne sera renvoyée du début de STRING jusqu'à CHARnon inclus. Si N-1 est la dernière occurrence de CHAR, elle renvoie la sous-chaîne de l'occurrence Nth-1 de CHAR à la fin de la chaîne. |
trim(STRING) |
Chaîne | Supprime les espaces de début et de fin de la chaîne spécifiée. |
trimstart(STRING) |
Chaîne | Supprime les espaces de début de la chaîne spécifiée. |
trimend(STRING) |
Chaîne | Supprime les espaces de fin de la chaîne spécifiée. |
unicode_char(NUM) |
CARACT. | L'entrée doit être une valeur décimale et non une valeur hexadécimale. Renvoie le caractère avec la valeur Unicode NUM. |
unicode_value(CHAR) |
num | Renvoie la valeur Unicode de CHAR. |
uppertolower(CHAR) uppertolower (STRING) |
CHAR ou Chaîne | L'entrée peut être une chaîne ou un caractère et est utilisée dans cette fonction pour renvoyer un nouvel élément du même type avec tous les caractères en majuscules convertis en leurs équivalents en minuscules. N'oubliez pas de spécifier des chaînes avec des guillemets et des caractères avec des guillemets simples. Les noms de zone simples doivent être indiqués sans guillemets. |