I Oracle, NLS_CHARSET_ID() funktion returnerar teckenuppsättningens ID-nummer för en given teckenuppsättning. Du skickar teckenuppsättningens namn som ett argument och det returnerar dess ID.
Syntax
Syntaxen ser ut så här:
NLS_CHARSET_ID(string)
Där string är teckenuppsättningens namn som du vill returnera ID:t för.
Exempel
Här är ett grundläggande exempel:
SELECT NLS_CHARSET_ID('AL16UTF16')
FROM DUAL; Resultat:
2000
Här är den med en annan teckenuppsättning:
SELECT NLS_CHARSET_ID('UTF8')
FROM DUAL; Resultat:
871
Nollargument
Om argumentet är null , resultatet är null :
SET NULL 'null';
SELECT NLS_CHARSET_ID(null)
FROM DUAL; Resultat:
NLS_CHARSET_ID(NULL)
_______________________
null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när null uppstår som ett resultat av en SQL SELECT påstående.
Du kan dock använda SET NULL för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null bör returneras.
Ogiltiga teckenuppsättningsnamn
Att skicka ett ogiltigt teckenuppsättningsnamn resulterar i null :
SET NULL 'null';
SELECT NLS_CHARSET_ID('oops')
FROM DUAL; Resultat:
NLS_CHARSET_ID('OOPS')
_________________________
null Inkorrekt antal argument
Att anropa funktionen utan att skicka några argument resulterar i ett fel:
SELECT NLS_CHARSET_ID()
FROM DUAL; Resultat:
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:
Att skicka flera teckenuppsättningsnamn resulterar dock i att ID:t för den första returneras:
SELECT NLS_CHARSET_ID('UTF8', 'AL16UTF16')
FROM DUAL; Resultat:
871