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

Funkcja NLS_CHARSET_ID() w Oracle

W Oracle NLS_CHARSET_ID() funkcja zwraca numer identyfikacyjny zestawu znaków danego zestawu znaków. Podajesz nazwę zestawu znaków jako argument, a on zwraca jego identyfikator.

Składnia

Składnia wygląda tak:

NLS_CHARSET_ID(string)

Gdzie string to nazwa zestawu znaków, dla którego chcesz zwrócić identyfikator.

Przykład

Oto podstawowy przykład:

SELECT NLS_CHARSET_ID('AL16UTF16')
FROM DUAL;

Wynik:

2000

Tutaj jest z innym zestawem znaków:

SELECT NLS_CHARSET_ID('UTF8')
FROM DUAL;

Wynik:

871

Argument zerowy

Jeśli argumentem jest null , wynik to null :

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

Wynik:

   NLS_CHARSET_ID(NULL) 
_______________________ 
                   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ć.

Nieprawidłowe nazwy zestawów znaków

Przekazanie nieprawidłowej nazwy zestawu znaków skutkuje null :

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

Wynik:

   NLS_CHARSET_ID('OOPS') 
_________________________ 
                     null 

Nieprawidłowa liczba argumentów

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

SELECT NLS_CHARSET_ID()
FROM DUAL;

Wynik:

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:

Jednak przekazanie wielu nazw zestawów znaków powoduje zwrócenie identyfikatora pierwszego z nich:

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

Wynik:

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 sql:zaktualizuj, jeśli istnieje, wstawiaj jeszcze

  2. Podkreślenie nie działa w wyroczni jak klauzula

  3. Jak skonfigurować podświetlanie składni w SQLcl

  4. ORA-00933:Polecenie SQL nie zostało poprawnie zakończone

  5. Jak wstawić znacznik czasu w Oracle?