Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction NCHR() dans Oracle

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)

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: