Fonctions de chaînes de caractères

Le tableau suivant décrit les fonctions de manipulation des chaînes de caractères.

Note : La comparaison des chaînes SQL de Netezza Performance Server ne tient pas compte des espaces à la fin.
Tableau 1. Fonctions des caractères
Nom Descriptif
ascii(s) Renvoie la valeur numérique ASCII du premier caractère de la chaîne spécifiée. Pour la version NCHAR de cette fonction, voir 'unicode(s).
btrim(s) Coupe les espaces aux deux extrémités de la chaîne spécifiée.
btrim(s,t) Supprime les occurrences des caractères de la chaîne " t aux deux extrémités de la chaîne " s.
chr(n) Renvoie le caractère avec la valeur ASCII spécifiée. Pour la version NCHAR de cette fonction, voir 'unichar(n).
initcap(s) Met en majuscule le premier caractère de chaque mot de la chaîne spécifiée.
instr(s1,s2[,n[,m]]) Renvoie l'emplacement de la sous-chaîne " s2 dans la chaîne " s1. La fonction prend également en charge les chaînes de caractères nchar et nvarchar. Les arguments suivants sont facultatifs :
n
La position à partir de laquelle commencer la recherche. Lorsque 'n est :
  • Positif, il s'agit de la position qui compte de gauche à droite, et la recherche s'effectue de gauche à droite.
  • Négatif, il s'agit de la position qui compte de droite à gauche, et la recherche s'effectue de droite à gauche.
Par défaut, il s'agit de 1.
m
L'occurrence de la sous-chaîne qui doit être recherchée. La valeur par défaut est 1 (recherche de la première occurrence).

La valeur de retour est un entier qui spécifie la position dans la chaîne 's1 de la sous-chaîne 's2.

length(s) Renvoie la longueur de la chaîne spécifiée.
lower(s) Convertit la chaîne de caractères spécifiée en minuscules.
lpad(s,n[,t]) Remplit le côté gauche de la chaîne " s de caractères pour créer une nouvelle chaîne de longueur " n. L'argument facultatif " t spécifie le caractère de remplissage ; par défaut, il s'agit d'un blanc. Si " n est inférieur à la longueur de " s, le système tronque " s à la longueur spécifiée.
ltrim(s) Coupe les espaces à l'extrémité gauche de la chaîne spécifiée.
ltrim(s,t) Enlève les occurrences des caractères de la chaîne " t de l'extrémité gauche de la chaîne " s.
repeat(s,n) Répète la chaîne " s n plusieurs fois. Si la chaîne résultante est supérieure à la longueur maximale de 64 000 caractères de varchar, elle est tronquée à 64 000 caractères.
rpad(s,n) Les espaces remplacent la chaîne de caractères s à droite par la longueur 'n. Il existe un troisième argument facultatif (t) qui spécifie le caractère de remplissage. Si l'argument longueur est plus court que la chaîne qui est remplie, le système tronque la chaîne à la longueur spécifiée.
rtrim(s) Supprime les espaces de l'extrémité droite de la chaîne 's.
rtrim(s,t) Enlève les occurrences des caractères de la chaîne " t de l'extrémité droite de la chaîne " s.
strpos(s,b) Spécifie la position de départ de la sous-chaîne " b dans la chaîne " s.
substr(s,p,l) Renvoie une sous-chaîne de la chaîne " s qui commence à la position " p et contient " l caractères. La position 1 est le début de la chaîne. Par exemple :
  • select substr('abcdefg',1,4); renvoie 'abcd.
  • select substr('abcdefg',4,1); renvoie 'd.
Si la longueur spécifiée fait que la sous-chaîne dépasse les limites de la chaîne originale, les positions en dehors de la chaîne originale sont ignorées. Par exemple :
  • select substr('abcdefg',3,9); renvoie la sous-chaîne de cinq caractères " cdefg.
  • select substr('abcdefg',9,3); renvoie une chaîne nulle, c'est-à-dire une chaîne de longueur 0.
Lorsque la position de départ spécifiée " p est nulle ou négative, le paramètre d'exécution ansi_substring détermine le comportement de la fonction " substr:
ansi_substring=true
Lorsque ansi_substring=true (c'est le paramètre par défaut) :
  • La position 0 est une position à gauche de la position 1.
  • Une position de départ négative est comptée vers la gauche à partir de la position 0. La sous-chaîne comprend les caractères qui continuent vers la droite pour la longueur spécifiée.
Par exemple :
  • select substr('abcdefg',0,4); renvoie abc
  • select substr('abcdefg',-2,4); renvoie a
  • select substr('abcdefg',-5,8); renvoie ab
ansi_substring=false
Lorsque ansi_substring=false :
  • La position 0 est équivalente à la position 1.
  • Une position de départ négative est comptée à partir du caractère le plus à droite de la chaîne vers la gauche. La sous-chaîne comprend les caractères qui continuent vers la droite pour la longueur spécifiée.
Par exemple :
  • select substr('abcdefg',0,4); renvoie abcd
  • select substr('abcdefg',-2,4); renvoie fg
  • select substr('abcdefg',-5,8); renvoie cdefg
translate(s,from,to) Remplace tout caractère du " s qui correspond à un caractère de l'ensemble " from par le caractère correspondant de l'ensemble " to. Par exemple, translate(‘12345’,’14’,’ax’) returns ‘a23x5’.
upper(s) Convertit la chaîne 's en majuscules.
unichr(n) Renvoie le caractère avec la valeur ASCII spécifiée. Équivalent de la fonction " chr() La fonction vérifie que les points de code se trouvent dans les plages valides et affiche une erreur si les points de code se trouvent dans la plage non valide de U+D800-U+DFFF ou dans la plage décimale 55 296 - 57 343.
unicode(s) Version NCHAR de " ascii(). Renvoie la valeur Unicode du premier caractère de la chaîne 's. Une fonction distincte est définie parce que six caractères ont des valeurs différentes entre Latin9 et Unicode.
unicodes(s,unit,base) Renvoie la valeur Unicode de chaque caractère de la chaîne 's. Par défaut, si vous ne spécifiez que la chaîne de caractères, la fonction renvoie la représentation en chiffres hexadécimaux UTF-32. La valeur de l'unité spécifie 8, 16 ou 32 pour renvoyer la valeur en protocole UTF-8, UTF-16 ou UTF-32. La valeur de base spécifie 'oct', 'dec' ou 'hex' en majuscules ou en minuscules (ou 8, 10 ou 16) pour contrôler la base du nombre.