Dans Oracle, le NCHR()
renvoie le caractère ayant l'équivalent binaire de son argument dans le jeu de caractères national.
C'est l'équivalent d'utiliser le CHR()
fonction avec USING
NCHAR_CS
arguments.
Syntaxe
La syntaxe ressemble à ceci :
NCHR(number)
Où number
est un NUMBER
value, ou toute valeur pouvant être implicitement convertie en NUMBER
.
La valeur renvoyée est toujours NVARCHAR2
.
Exemple
Voici un exemple simple pour illustrer :
SELECT NCHR(257)
FROM DUAL;
Résultat :
NCHR(257) ____________ ā
Ici, j'ai fourni un numéro, et NCHR()
renvoyé le caractère correspondant dans le jeu de caractères national. Dans ce cas, l'entier 257
correspond au caractère ā
.
On peut arriver au même résultat avec le CHR()
fonction lors de l'utilisation de le USING
NCHAR_CS
argument :
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Résultat :
CHR(257USINGNCHAR_CS) ________________________ ā
Valeurs nulles
Passer null
renvoie null
:
SET NULL 'null';
SELECT NCHR(null)
FROM DUAL;
Résultat :
NCHR(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 NCHR()
sans passer aucun argument renvoie une erreur :
SELECT NCHR()
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT NCHR() 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 NCHR(1, 2, 3)
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT NCHR(1, 2, 3) FROM DUAL Error at Command Line : 1 Column : 19 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: