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: