In Oracle, il NLS_CHARSET_ID() la funzione restituisce il numero ID del set di caratteri di un determinato set di caratteri. Passi il nome del set di caratteri come argomento e restituisce il suo ID.
Sintassi
La sintassi è questa:
NLS_CHARSET_ID(string)
Dove string è il nome del set di caratteri per il quale si desidera restituire l'ID.
Esempio
Ecco un esempio di base:
SELECT NLS_CHARSET_ID('AL16UTF16')
FROM DUAL; Risultato:
2000
Eccolo con un diverso set di caratteri:
SELECT NLS_CHARSET_ID('UTF8')
FROM DUAL; Risultato:
871
Argomento nullo
Se l'argomento è null , il risultato è null :
SET NULL 'null';
SELECT NLS_CHARSET_ID(null)
FROM DUAL; Risultato:
NLS_CHARSET_ID(NULL)
_______________________
null
Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null si verifica come risultato di un SQL SELECT dichiarazione.
Tuttavia, puoi utilizzare SET NULL per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null deve essere restituito.
Nomi di set di caratteri non validi
Il passaggio di un nome di set di caratteri non valido restituisce null :
SET NULL 'null';
SELECT NLS_CHARSET_ID('oops')
FROM DUAL; Risultato:
NLS_CHARSET_ID('OOPS')
_________________________
null Conteggio argomenti errato
La chiamata della funzione senza passare alcun argomento genera un errore:
SELECT NLS_CHARSET_ID()
FROM DUAL; Risultato:
Error starting at line : 1 in command - SELECT NLS_CHARSET_ID() 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:
Tuttavia, se si passano più nomi di set di caratteri, viene restituito l'ID del primo:
SELECT NLS_CHARSET_ID('UTF8', 'AL16UTF16')
FROM DUAL; Risultato:
871