Trong Oracle, UPPER()
hàm trả về đối số của nó với tất cả các chữ cái được viết hoa.
Cú pháp
Cú pháp như sau:
UPPER(char)
Ở đâu char
có thể thuộc bất kỳ kiểu dữ liệu nào CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
hoặc NCLOB
.
Ví dụ
Dưới đây là một ví dụ đơn giản để chứng minh:
SELECT UPPER('speak louder please')
FROM DUAL;
Kết quả:
UPPER('SPEAKLOUDERPLEASE') _____________________________ SPEAK LOUDER PLEASE
Điều tương tự cũng áp dụng khi đối số sử dụng trường hợp hỗn hợp:
SELECT UPPER('Speak Louder Please')
FROM DUAL;
Kết quả:
UPPER('SPEAKLOUDERPLEASE') _____________________________ SPEAK LOUDER PLEASE
Và nếu đối số đã là chữ hoa, thì kết quả sẽ giống với đầu vào:
SELECT UPPER('SPEAK LOUDER PLEASE')
FROM DUAL;
Kết quả:
UPPER('SPEAKLOUDERPLEASE') _____________________________ SPEAK LOUDER PLEASE
Giá trị rỗng
Chuyển null
trả về null
:
SET NULL 'null';
SELECT UPPER(null)
FROM DUAL;
Kết quả:
UPPER(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 UPPER()
mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:
SELECT UPPER()
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT UPPER() 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 sai số đối số dẫn đến lỗi:
SELECT UPPER('Speak', 'Louder')
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT UPPER('Speak', 'Louder') 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: