Trong Cơ sở dữ liệu Oracle, RAWTOHEX()
hàm chuyển đổi một giá trị thô thành hệ thập lục phân.
Cú pháp
Cú pháp như sau:
RAWTOHEX(raw)
Ở đâu raw
có thể là bất kỳ kiểu dữ liệu vô hướng nào khác ngoài LONG
, LONG
RAW
, CLOB
, NCLOB
, BLOB
hoặc BFILE
.
Nếu đối số thuộc kiểu dữ liệu khác với RAW
, sau đó hàm chuyển đổi đối số thành RAW
giá trị với cùng số byte dữ liệu.
Ví dụ
Đây là một ví dụ:
SELECT RAWTOHEX(HEXTORAW('374a5cfe')) FROM DUAL;
Kết quả:
374A5CFE
Ở đây, tôi đã sử dụng HEXTORAW()
hàm chuyển đổi chuỗi thập lục phân thành RAW
, sau đó sử dụng RAWTOHEX()
để chuyển đổi nó trở lại.
Đối số rỗng
Nếu đối số là null
, kết quả là null
:
SET NULL 'null';
SELECT RAWTOHEX(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 giá trị 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 hợp lệ
Gọi RAWTOHEX()
mà không có bất kỳ đối số nào dẫn đến lỗi:
SELECT RAWTOHEX()
FROM DUAL;
Kết quả:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Và việc chuyển quá nhiều đối số cũng dẫn đến lỗi:
SELECT RAWTOHEX('a', 'b')
FROM DUAL;
Kết quả:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"