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

Hàm NLS_COLLATION_ID () trong Oracle

Trong Cơ sở dữ liệu Oracle, NLS_COLLATION_ID() hàm trả về ID của một đối chiếu nhất định. Bạn chuyển tên đối chiếu khi gọi hàm và nó trả về ID đối chiếu.

Cú pháp

Cú pháp như sau:

NLS_COLLATION_ID(expr)

Ở đâu expr là tên đối chiếu, thuộc loại VARCHAR2 .

Ví dụ

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

SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;

Kết quả:

70

Dưới đây là một số ví dụ khác:

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;

Kết quả:

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

Đối chiếu Không hợp lệ

Chuyển tên đối chiếu không hợp lệ dẫn đến null :

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

Kết quả:

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.

Đối số rỗng

Chuyển null trả về null :

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

Kết quả:

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_COLLATION_ID()
FROM DUAL;

Kết quả:

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:

Và việc chuyển quá nhiều đối số cũng dẫn đến lỗi:

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

Kết quả:

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. Làm thế nào để có được ngày hôm qua trong Oracle

  2. ORACLE SQL:Điền vào các ngày còn thiếu

  3. Tìm việc làm hiện tại cho các biểu mẫu &báo cáo Oracle

  4. OracleException (0x80004005) Khi kết nối với cơ sở dữ liệu Oracle

  5. Làm thế nào để gọi hàm Oracle trong Python?