sql中可以直接插入16进制字串表示的数据。 SQL> desc blob_test; Name Type Nullable Default Comments ---- ---- -------- ------- -------- B BLOB Y
SQL> insert into blob_test values('0a0b');
1 row inserted
SQL> desc baa05; Name Type Nullable Default Comments ------- ------------ -------- ---------- -------- BAA0500 VARCHAR2(32) sys_guid() BAA0501 VARCHAR2(50) Y BAA0502 BLOB Y BAA0503 NUMBER(15) Y BAA0504 CHAR(1) Y SQL> insert into baa05 values('33','a','c:\aa.txt',2,'1');insert into baa05 values('33','a','c:\aa.txt',2,'1')ORA-01465: 无效的十六进制数字SQL> insert into baa05 values('33','a','cg',2,'1');insert into baa05 values('33','a','cg',2,'1')ORA-01465: 无效的十六进制数字SQL>
使用utl_raw.cast_to_raw可以将字符串数据转换成raw类型插入 insert into blob_test values(utl_raw.cast_to_raw('kfsdkfj'));
SQL> desc blob_test;
Name Type Nullable Default Comments
---- ---- -------- ------- --------
B BLOB Y
SQL> insert into blob_test values('0a0b');
1 row inserted
SQL> desc baa05;
Name Type Nullable Default Comments
------- ------------ -------- ---------- --------
BAA0500 VARCHAR2(32) sys_guid()
BAA0501 VARCHAR2(50) Y
BAA0502 BLOB Y
BAA0503 NUMBER(15) Y
BAA0504 CHAR(1) Y
SQL> insert into baa05 values('33','a','c:\aa.txt',2,'1');insert into baa05 values('33','a','c:\aa.txt',2,'1')ORA-01465: 无效的十六进制数字SQL> insert into baa05 values('33','a','cg',2,'1');insert into baa05 values('33','a','cg',2,'1')ORA-01465: 无效的十六进制数字SQL>
insert into blob_test values(utl_raw.cast_to_raw('kfsdkfj'));