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

Hàm RAWTONHEX () trong Oracle

Trong Cơ sở dữ liệu Oracle, RAWTONHEX() hàm chuyển đổi một giá trị thô thành hệ thập lục phân.

Nó tương tự như RAWTOHEX() , ngoại trừ việc giá trị của nó luôn được trả về trong bộ ký tự quốc gia.

Cú pháp

Cú pháp như sau:

RAWTONHEX(raw)

Ví dụ

Đây là một ví dụ:

SELECT 
    RAWTONHEX(HEXTORAW('f9')) AS "Result",
    DUMP(RAWTONHEX(HEXTORAW('f9'))) AS "Dump"
FROM DUAL;

Kết quả:

   Result                      Dump 
_________ _________________________ 
F9        Typ=1 Len=4: 0,70,0,57   

Ở đây, tôi đã sử dụng HEXTORAW() hàm để chuyển đổi một chuỗi thập lục phân thành RAW , sau đó sử dụng RAWTONHEX() để chuyển đổi nó trở lại. Đầu ra của DUMP() hàm cho thấy rằng kiểu dữ liệu trả về là kiểu 1.

Đối số rỗng

Nếu đối số là null , kết quả là null :

SET NULL 'null';
SELECT RAWTONHEX(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ệ

Đang gọi RAWTONHEX() mà không có bất kỳ đối số nào dẫn đến lỗi:

SELECT RAWTONHEX()
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 RAWTONHEX('a', 'b')
FROM DUAL;

Kết quả:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự kiện chờ:thay đổi kích thước bộ mô tả asynch

  2. Thay đổi bảng để sửa đổi giá trị mặc định của cột

  3. Ràng buộc DUY NHẤT so với kiểm tra trước khi CHÈN

  4. Oracle là Giải pháp thay thế của các bảng thay đổi

  5. Tôi có thể sao chép:Bản ghi giả CŨ và:MỚI vào / vào một thủ tục được lưu trữ Oracle không?