Dans Oracle Database, le NLS_CHARSET_NAME()
La fonction renvoie le nom du jeu de caractères d'un jeu de caractères donné, en fonction de son ID. Vous passez l'ID du jeu de caractères en argument et la fonction renvoie son nom.
Syntaxe
La syntaxe ressemble à ceci :
NLS_CHARSET_NAME(number)
Où number
est l'ID du jeu de caractères dont vous souhaitez renvoyer le nom.
Exemple
Voici un exemple de base :
SELECT NLS_CHARSET_NAME(1)
FROM DUAL;
Résultat :
US7ASCII
Le voici avec un ID de jeu de caractères différent :
SELECT NLS_CHARSET_NAME(871)
FROM DUAL;
Résultat :
UTF8
Argument nul
Si l'argument est null
, le résultat est null
:
SET NULL 'null';
SELECT NLS_CHARSET_NAME(null)
FROM DUAL;
Résultat :
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é.
ID de jeu de caractères non valide
La transmission d'un ID de jeu de caractères non valide entraîne null
:
SET NULL 'null';
SELECT NLS_CHARSET_NAME(19999)
FROM DUAL;
Résultat :
null
Cependant, passer le mauvais type de données renvoie une erreur :
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT NLS_CHARSET_NAME('oops') FROM DUAL Error report - ORA-01722: invalid number
Nombre d'arguments incorrects
L'appel de la fonction sans passer d'arguments entraîne une erreur :
SELECT NLS_CHARSET_NAME()
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT NLS_CHARSET_NAME() 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:
Mais en passant plusieurs ID de jeu de caractères, le nom du premier est renvoyé :
SELECT NLS_CHARSET_NAME(871, 1)
FROM DUAL;
Résultat :
UTF8