Oracle
 sql >> база данни >  >> RDS >> Oracle

NLS_CHARSET_ID() Функция в Oracle

В Oracle NLS_CHARSET_ID() функцията връща идентификационния номер на набора от символи на даден набор от символи. Вие предавате името на набора от знаци като аргумент и той връща своя ID.

Синтаксис

Синтаксисът е така:

NLS_CHARSET_ID(string)

Където string е името на набора от знаци, за който искате да върнете идентификатора.

Пример

Ето един основен пример:

SELECT NLS_CHARSET_ID('AL16UTF16')
FROM DUAL;

Резултат:

2000

Ето го с различен набор от знаци:

SELECT NLS_CHARSET_ID('UTF8')
FROM DUAL;

Резултат:

871

Нулев аргумент

Ако аргументът е null , резултатът е null :

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

Резултат:

   NLS_CHARSET_ID(NULL) 
_______________________ 
                   null

По подразбиране SQLcl и SQL*Plus връщат празно пространство всеки път, когато null възниква в резултат на SQL SELECT изявление.

Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Невалидни имена на набор от знаци

Предаването на невалидно име на набор от знаци води до null :

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

Резултат:

   NLS_CHARSET_ID('OOPS') 
_________________________ 
                     null 

Неправилен брой аргументи

Извикването на функцията без предаване на аргументи води до грешка:

SELECT NLS_CHARSET_ID()
FROM DUAL;

Резултат:

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:

Въпреки това, предаването на множество имена на набор от знаци води до връщане на идентификатора на първия:

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

Резултат:

871

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да намерите индекси на таблица в oracle

  2. Алтернативни драйвери на Oracle за .net

  3. Как да покажа грешки в sqlplus

  4. oci_connect връзката неуспешна

  5. Oracle Connection Pool Class