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

Hàm CHR () trong Oracle

Trong Oracle, CHR() hàm trả về một ký tự dựa trên các giá trị mã được cung cấp dưới dạng đối số.

Cụ thể hơn, nó trả về ký tự có nhị phân tương đương với đối số của nó là VARCHAR2 giá trị trong bộ ký tự cơ sở dữ liệu hoặc nếu bạn chỉ định USING NCHAR_CS , bộ ký tự quốc gia.

Cú pháp

Cú pháp như sau:

CHR(n [ USING NCHAR_CS ])

Ở đâu n 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 .

USING NCHAR_CS đối số là đối số tùy chọn cho phép bạn chỉ định bộ ký tự quốc gia.

Ví dụ

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

SELECT CHR(65)
FROM DUAL;

Kết quả:

   CHR(65) 
__________ 
A         

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

Phân biệt chữ hoa chữ thường

Dưới đây là một ví dụ phân biệt chữ hoa với chữ thường của nó:

SELECT 
    CHR(72),
    CHR(104)
FROM DUAL;

Kết quả:

   CHR(72)    CHR(104) 
__________ ___________ 
H          h           

Trả về một chuỗi nhiều ký tự

Để tạo một chuỗi nhiều ký tự, chúng ta có thể nối nhiều CHR() chức năng:

Ví dụ:

SELECT CHR(65) || CHR(77)
FROM DUAL;

Kết quả:

   CHR(65)||CHR(77) 
___________________ 
AM                  

NCHAR_CS Đối số

Dưới đây là một ví dụ về cách chuyển đối số thứ hai (tùy chọn):

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Kết quả:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Điều này cũng giống như sử dụng NCHR() chức năng.

Giá trị rỗng

Chuyển null trả về null :

SET NULL 'null';

SELECT CHR(null)
FROM DUAL;

Kết quả:

   CHR(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 CHR() mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:

SELECT CHR()
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT CHR()
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 CHR(1, 2, 3)
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT CHR(1, 2, 3)
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. Cách tạo PL / SQL SYS_REFCURSOR trong cơ sở dữ liệu Oracle

  2. Thủ tục lưu trữ Oracle:trả về cả tham số đặt và ra kết quả

  3. Sao chép ORACLE_HOME

  4. cách sử dụng các mục nhập tns với trình điều khiển macromedia cho Oracle

  5. Có thể tạo các kiểu đối tượng Cơ sở dữ liệu Oracle bên trong PL / SQL không?