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

Fonction NLS_COLLATION_ID() dans Oracle

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)

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: