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

Hàm NLS_CHARSET_NAME () trong Oracle

Trong Cơ sở dữ liệu Oracle, NLS_CHARSET_NAME() hàm trả về tên bộ ký tự của một bộ ký tự nhất định, dựa trên ID của nó. Bạn chuyển ID bộ ký tự làm đối số và hàm trả về tên của nó.

Cú pháp

Cú pháp như sau:

NLS_CHARSET_NAME(number)

Vị trí number là ID bộ ký tự mà bạn muốn trả lại tên.

Ví dụ

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

SELECT NLS_CHARSET_NAME(1)
FROM DUAL;

Kết quả:

US7ASCII

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

SELECT NLS_CHARSET_NAME(871)
FROM DUAL;

Kết quả:

UTF8

Đối số rỗng

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

SET NULL 'null';
SELECT NLS_CHARSET_NAME(null)
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.

ID bộ ký tự không hợp lệ

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

SET NULL 'null';
SELECT NLS_CHARSET_NAME(19999)
FROM DUAL;

Kết quả:

null

Tuy nhiên, việc chuyển sai kiểu dữ liệu sẽ trả về lỗi:

SELECT NLS_CHARSET_NAME('oops')
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL
Error report -
ORA-01722: invalid number

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

Kết quả:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_NAME()
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:

Nhưng việc chuyển nhiều ID tập hợp ký tự dẫn đến tên của ID đầu tiên được trả về:

SELECT NLS_CHARSET_NAME(871, 1)
FROM DUAL;

Kết quả:

UTF8

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 19.3 PDB Đóng ORA-65107 ORA-16078

  2. Chuyển đổi Oracle current_timestamp sang giây

  3. Phát hiện các thay đổi cơ sở dữ liệu gia tăng (Oracle sang MongoDB ETL)

  4. Thay đổi bảng để sửa đổi giá trị mặc định của cột

  5. ROWNUM hoạt động như thế nào trong truy vấn phân trang?