Dans Oracle Database, le NLS_COLLATION_ID()
La fonction renvoie l'ID d'un classement donné. Vous transmettez le nom de la collation lors de l'appel de la fonction, et elle renvoie l'ID de la collation.
Syntaxe
La syntaxe ressemble à ceci :
NLS_COLLATION_ID(expr)
Où expr
est le nom du classement, de type VARCHAR2
.
Exemple
Voici un exemple de base :
SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;
Résultat :
70
Voici d'autres exemples :
SELECT
NLS_COLLATION_ID('UCA0620_THAI') AS "1",
NLS_COLLATION_ID('UCA0620_TSPANISH') AS "2",
NLS_COLLATION_ID('CANADIAN_M') AS "3",
NLS_COLLATION_ID('FRENCH_M') AS "4"
FROM DUAL;
Résultat :
1 2 3 4 _________ _________ _______ _______ 208920 208917 4116 4112
Collation invalide
La transmission d'un nom de classement non valide entraîne null
:
SET NULL 'null';
SELECT NLS_COLLATION_ID('Oops!')
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é.
Argument nul
Passer null
renvoie null
:
SET NULL 'null';
SELECT NLS_COLLATION_ID(null)
FROM DUAL;
Résultat :
null
Nombre d'arguments incorrects
L'appel de la fonction sans passer d'arguments entraîne une erreur :
SELECT NLS_COLLATION_ID()
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT NLS_COLLATION_ID() 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:
Et passer trop d'arguments entraîne également une erreur :
SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M')
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M') 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: