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

Hàm NCHR () trong Oracle

Trong Oracle, NCHR() hàm trả về ký tự có mã nhị phân tương đương với đối số của nó trong bộ ký tự quốc gia.

Nó tương đương với việc sử dụng CHR() chức năng với USING NCHAR_CS đối số.

Cú pháp

Cú pháp như sau:

NCHR(number)

Ở đâu number là một NUMBER giá trị hoặc bất kỳ giá trị nào có thể được chuyển đổi hoàn toàn thành NUMBER .

Giá trị trả về luôn là NVARCHAR2 .

Ví dụ

Dưới đây là một ví dụ đơn giản để chứng minh:

SELECT NCHR(257)
FROM DUAL;

Kết quả:

   NCHR(257) 
____________ 
ā           

Ở đây tôi đã cung cấp một số và NCHR() đã trả về ký tự tương ứng trong bộ ký tự quốc gia. Trong trường hợp này, số nguyên 257 ánh xạ tới ký tự ā .

Chúng ta có thể đạt được kết quả tương tự với CHR() chức năng khi sử dụng USING NCHAR_CS đối số:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Kết quả:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Giá trị rỗng

Chuyển null trả về null :

SET NULL 'null';

SELECT NCHR(null)
FROM DUAL;

Kết quả:

   NCHR(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.

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

Gọi NCHR() mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:

SELECT NCHR()
FROM DUAL;

Kết quả:

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

Và việc chuyển sai số đối số dẫn đến lỗi:

SELECT NCHR(1, 2, 3)
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT NCHR(1, 2, 3)
FROM DUAL
Error at Command Line : 1 Column : 19
Error report -
SQL Error: ORA-00939: too many arguments for function
00939. 00000 -  "too many arguments for function"
*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. Triển khai và cấu hình ODP.NET để hoạt động mà không cần cài đặt với Entity Framework

  2. Oracle ODP.Net và EF CodeFirst - Lỗi SaveChanges

  3. Oracle 12c ĐƯỢC XÁC ĐỊNH BẰNG GIÁ TRỊ

  4. NAME_IN được tích hợp sẵn trong Oracle D2k Forms

  5. Oracle After Delete Trigger ... Làm thế nào để tránh Bảng đột biến (ORA-04091)?