Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja NLS_COLLATION_ID() w Oracle

W bazie danych Oracle NLS_COLLATION_ID() funkcja zwraca identyfikator podanego zestawienia. Podajesz nazwę sortowania podczas wywoływania funkcji, a zwraca ona identyfikator sortowania.

Składnia

Składnia wygląda tak:

NLS_COLLATION_ID(expr)

Gdzie expr jest nazwą sortowania typu VARCHAR2 .

Przykład

Oto podstawowy przykład:

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Wynik:

70

Oto kilka przykładów:

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;

Wynik:

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

Nieprawidłowe sortowanie

Przekazanie nieprawidłowej nazwy sortowania skutkuje null :

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

Wynik:

null

Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null występuje w wyniku polecenia SQL SELECT oświadczenie.

Możesz jednak użyć SET NULL aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null należy zwrócić.

Argument zerowy

Przekazywanie null zwraca null :

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

Wynik:

null

Nieprawidłowa liczba argumentów

Wywołanie funkcji bez przekazywania jakichkolwiek argumentów skutkuje błędem:

SELECT NLS_COLLATION_ID()
FROM DUAL;

Wynik:

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:

Przekazywanie zbyt wielu argumentów również skutkuje błędem:

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

Wynik:

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. Biblioteka zarządzana ODP.NET rozpoznaje alias, ale biblioteka 32-bitowa nie

  2. Porównanie daty Oracle zepsute z powodu czasu letniego

  3. Eksportuj wyniki zapytania Oracle do pliku HTML podczas korzystania z SQLcl

  4. Jak używać kursora referencji Oracle z języka C# ODP.NET jako parametru ReturnValue bez użycia funkcji lub procedury przechowywanej?

  5. Oracle 12:Dołącz do listy rozdzielanej przecinkami?