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: