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

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

В Oracle Database, NLS_COLLATION_ID() функцията връща идентификатора на дадено съпоставяне. Вие предавате името на съпоставянето при извикване на функцията и тя връща идентификатора на съпоставянето.

Синтаксис

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

NLS_COLLATION_ID(expr)

Където expr е името на съпоставянето от тип VARCHAR2 .

Пример

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

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Резултат:

70

Ето още няколко примера:

SELECT 
    NLS_COLLATION_ID('UCA0620_THAI') AS "1",
    NLS_COLLATION_ID('UCA0620_TSPANISH') AS "2",
    NLS_COLLATION_ID('CANADIAN_M') AS "3",
    NLS_COLLATION_ID('FRENCH_M') AS "4"
FROM DUAL;

Резултат:

        1         2       3       4 
_________ _________ _______ _______ 
   208920    208917    4116    4112

Невалидно съпоставяне

Предаването на невалидно име за съпоставяне води до null :

SET NULL 'null';
SELECT NLS_COLLATION_ID('Oops!')
FROM DUAL;

Резултат:

null

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

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

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

Предаването на null връща null :

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

Резултат:

null

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

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

SELECT NLS_COLLATION_ID()
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT NLS_COLLATION_ID()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

И предаването на твърде много аргументи също води до грешка:

SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M')
FROM DUAL;

Резултат:

Error starting at line : 1 in command -
SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M')
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSTR() Функция в Oracle

  2. В Oracle AS псевдонимът не работи

  3. как да замените буквата с ударение в колона varchar2 в oracle

  4. Каква е разликата между неповтарящо се четене и фантомно четене?

  5. Oracle 12:Присъединяване към разделен със запетая списък?