Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hàm NLS_CHARSET_ID () trong Oracle

Trong Oracle, NLS_CHARSET_ID() hàm trả về số ID bộ ký tự của một bộ ký tự nhất định. Bạn chuyển tên bộ ký tự làm đối số và nó trả về ID của nó.

Cú pháp

Cú pháp như sau:

NLS_CHARSET_ID(string)

Ở đâu string là tên bộ ký tự mà bạn muốn trả lại ID.

Ví dụ

Đây là một ví dụ cơ bản:

SELECT NLS_CHARSET_ID('AL16UTF16')
FROM DUAL;

Kết quả:

2000

Đây là với một bộ ký tự khác:

SELECT NLS_CHARSET_ID('UTF8')
FROM DUAL;

Kết quả:

871

Đối số rỗng

Nếu đối số là null , kết quả là null :

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

Kết quả:

   NLS_CHARSET_ID(NULL) 
_______________________ 
                   null

Theo mặc định, SQLcl và SQL * Plus trả về một khoảng trống bất cứ khi nào null xảy ra do một SELECT trong SQL tuyên bố.

Tuy nhiên, bạn có thể sử dụng SET NULL để chỉ định một chuỗi khác được trả về. Ở đây tôi đã chỉ định rằng chuỗi null nên được trả lại.

Tên bộ ký tự không hợp lệ

Chuyển tên bộ ký tự không hợp lệ dẫn đến null :

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

Kết quả:

   NLS_CHARSET_ID('OOPS') 
_________________________ 
                     null 

Số lượng đối số không chính xác

Việc gọi hàm mà không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT NLS_CHARSET_ID()
FROM DUAL;

Kết quả:

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:

Tuy nhiên, việc chuyển nhiều tên bộ ký tự dẫn đến ID của tên đầu tiên được trả về:

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

Kết quả:

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. Hiểu về Java của Oracle trên Mac

  2. Cảnh báo thời gian chờ đợi dành cho cơ sở dữ liệu EM12c

  3. Sử dụng LIKE trong mệnh đề Oracle IN

  4. Nhận số ngày giữa hai ngày trong Oracle, bao gồm cả các ngày

  5. Làm thế nào để chuyển đổi dấu thời gian với mili giây sang ngày tháng trong Oracle