sql >> Database >  >> RDS >> Oracle

NLS_CHARSET_ID() Functie in Oracle

In Oracle, de NLS_CHARSET_ID() functie retourneert het ID-nummer van de tekenset van een bepaalde tekenset. Je geeft de naam van de tekenset door als argument, en het geeft zijn ID terug.

Syntaxis

De syntaxis gaat als volgt:

NLS_CHARSET_ID(string)

Waar string is de naam van de tekenset waarvoor u de ID wilt retourneren.

Voorbeeld

Hier is een eenvoudig voorbeeld:

SELECT NLS_CHARSET_ID('AL16UTF16')
FROM DUAL;

Resultaat:

2000

Hier is het met een andere tekenset:

SELECT NLS_CHARSET_ID('UTF8')
FROM DUAL;

Resultaat:

871

Nullargument

Als het argument null is , het resultaat is null :

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

Resultaat:

   NLS_CHARSET_ID(NULL) 
_______________________ 
                   null

Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null treedt op als resultaat van een SQL SELECT uitspraak.

U kunt echter SET NULL . gebruiken om een ​​andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null moet worden geretourneerd.

Ongeldige namen van tekensets

Het doorgeven van een ongeldige tekensetnaam resulteert in null :

SET NULL 'null';
SELECT NLS_CHARSET_ID('oops')
FROM DUAL;

Resultaat:

   NLS_CHARSET_ID('OOPS') 
_________________________ 
                     null 

Onjuist aantal argumenten

Het aanroepen van de functie zonder het doorgeven van argumenten resulteert in een fout:

SELECT NLS_CHARSET_ID()
FROM DUAL;

Resultaat:

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:

Het doorgeven van meerdere namen van tekensets resulteert echter in de ID van de eerste die wordt geretourneerd:

SELECT NLS_CHARSET_ID('UTF8', 'AL16UTF16')
FROM DUAL;

Resultaat:

871

  1. Ruby 'pg' gem linkt naar verkeerde kopie van libpq.5.dylib (op OSX)

  2. De implementatie van Amazon Auroras Multi-AZ begrijpen

  3. Dynamisch kolommen genereren in PostgreSQL

  4. Mysql-toestemmingsfouten met 'gegevens laden'