2011-09-20 36 views

Trả lời

29

Có, đó là có thể, ví dụ bằng cách sử dụng chuyển đổi ngầm từ RAW tới BLOB:

insert into blob_fun values(1, hextoraw('453d7a34')); 

453d7a34 là một chuỗi các giá trị thập lục phân, mà là lần đầu tiên một cách rõ ràng chuyển đổi sang kiểu dữ liệu RAW và sau đó chèn vào cột BLOB. Kết quả là giá trị BLOB là 4 byte.

+1

Đáng tiếc là điều này sẽ không hoạt động nếu BLOB lớn hơn 2000 byte - bởi vì có một giới hạn trong Oracle rằng một hằng số char có thể không lớn hơn 4000 ký tự. –

24

Để chèn một VARCHAR2 vào một cột BLOB bạn có thể dựa vào chức năng utl_raw.cast_to_raw như sau, nó sẽ đúc đầu vào của bạn VARCHAR2 vào RAW datatype mà không sửa đổi nội dung của nó, sau đó nó sẽ chèn kết quả vào BLOB cột của bạn:

insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here')); 

Thông tin chi tiết về chức năng utl_raw.cast_to_raw

+2

Tuyệt vời !!! đã làm việc cho tôi Cảm ơn một triệu –

Các vấn đề liên quan