Dans Oracle, le CHR()
La fonction renvoie un caractère basé sur les valeurs de code fournies en argument.
Plus précisément, il renvoie le caractère ayant l'équivalent binaire de son argument sous la forme d'un VARCHAR2
valeur dans le jeu de caractères de la base de données ou, si vous spécifiez USING
NCHAR_CS
, le jeu de caractères national.
Syntaxe
La syntaxe ressemble à ceci :
CHR(n [ USING NCHAR_CS ])
Où n
est un NUMBER
value, ou toute valeur pouvant être implicitement convertie en NUMBER
.
Le USING
NCHAR_CS
argument est un argument facultatif qui vous permet de spécifier le jeu de caractères national.
Exemple
Voici un exemple simple pour illustrer :
SELECT CHR(65)
FROM DUAL;
Résultat :
CHR(65) __________ A
Ici, j'ai fourni un nombre, et CHR()
renvoyé le caractère correspondant. Dans ce cas, l'entier 65
correspond à la lettre majuscule A
.
Sensibilité à la casse
Voici un exemple qui distingue une lettre majuscule de son homologue minuscule :
SELECT
CHR(72),
CHR(104)
FROM DUAL;
Résultat :
CHR(72) CHR(104) __________ ___________ H h
Renvoyer une chaîne de caractères multiples
Pour produire une chaîne multi-caractères, nous pouvons concaténer plusieurs CHR()
fonctions :
Exemple :
SELECT CHR(65) || CHR(77)
FROM DUAL;
Résultat :
CHR(65)||CHR(77) ___________________ AM
Le NCHAR_CS
Argumentation
Voici un exemple de transmission du deuxième argument (facultatif) :
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Résultat :
CHR(257USINGNCHAR_CS) ________________________ ā
C'est la même chose que d'utiliser le NCHR()
fonction.
Valeurs nulles
Passer null
renvoie null
:
SET NULL 'null';
SELECT CHR(null)
FROM DUAL;
Résultat :
CHR(NULL) ____________ null
Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois que null
se produit à la suite d'un SQL SELECT
déclaration.
Cependant, vous pouvez utiliser SET NULL
pour spécifier une autre chaîne à renvoyer. Ici, j'ai précisé que la chaîne null
doit être retourné.
Nombre d'arguments incorrects
Appel de CHR()
sans passer d'argument renvoie une erreur :
SELECT CHR()
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT CHR() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
Et passer le mauvais nombre d'arguments entraîne une erreur :
SELECT CHR(1, 2, 3)
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT CHR(1, 2, 3) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: