sql >> Database teknologi >  >> RDS >> Oracle

NLS_CHARSET_NAME() Funktion i Oracle

I Oracle Database er NLS_CHARSET_NAME() funktion returnerer tegnsætnavnet på et givet tegnsæt baseret på dets ID. Du sender tegnsæt-id'et som et argument, og funktionen returnerer sit navn.

Syntaks

Syntaksen ser sådan ud:

NLS_CHARSET_NAME(number)

Hvor number er det tegnsæt-id, som du vil returnere navnet for.

Eksempel

Her er et grundlæggende eksempel:

SELECT NLS_CHARSET_NAME(1)
FROM DUAL;

Resultat:

US7ASCII

Her er det med et andet tegnsæt-id:

SELECT NLS_CHARSET_NAME(871)
FROM DUAL;

Resultat:

UTF8

Nul-argument

Hvis argumentet er null , resultatet er null :

SET NULL 'null';
SELECT NLS_CHARSET_NAME(null)
FROM DUAL;

Resultat:

null

Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når null opstår som et resultat af en SQL SELECT udmelding.

Du kan dog bruge SET NULL for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null skal returneres.

Ugyldigt tegnsæt-id

Ved at videregive et ugyldigt tegnsæt-id resulterer det i null :

SET NULL 'null';
SELECT NLS_CHARSET_NAME(19999)
FROM DUAL;

Resultat:

null

Hvis du sender den forkerte datatype, returneres en fejl:

SELECT NLS_CHARSET_NAME('oops')
FROM DUAL;

Resultat:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL
Error report -
ORA-01722: invalid number

Forkert antal argumenter

Kaldning af funktionen uden at sende nogen argumenter resulterer i en fejl:

SELECT NLS_CHARSET_NAME()
FROM DUAL;

Resultat:

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:

Men overførsel af flere tegnsæt-id'er resulterer i, at navnet på den første returneres:

SELECT NLS_CHARSET_NAME(871, 1)
FROM DUAL;

Resultat:

UTF8

  1. INITCAP() Funktion i Oracle

  2. Sådan opsætter du fjernforbindelse til PostgreSQL

  3. Cyklusdetektion med rekursiv subquery factoring

  4. Hvordan versionerer du dit databaseskema?