【发布时间】:2011-11-21 07:22:19
【问题描述】:
是否可以使用 sqldeveloper 在 oracle 中插入BLOB 列?
即类似:
insert into mytable(id, myblob) values (1,'some magic here');
【问题讨论】:
标签: oracle blob oracle-sqldeveloper
是否可以使用 sqldeveloper 在 oracle 中插入BLOB 列?
即类似:
insert into mytable(id, myblob) values (1,'some magic here');
【问题讨论】:
标签: oracle blob oracle-sqldeveloper
要将VARCHAR2 插入BLOB 列,您可以依赖函数utl_raw.cast_to_raw 如下:
insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here'));
它会将您的输入 VARCHAR2 转换为 RAW 数据类型而不修改其内容,然后它将结果插入您的 BLOB 列。
更多关于函数utl_raw.cast_to_raw的细节
【讨论】:
UTL_RAW.CAST_TO_RAW 限制为 2000 个字符。如何插入一个大于 2000 个字符的值? (用于甲骨文)
to_clob函数。检查这个答案:stackoverflow.com/a/68808988/1610853
是的,有可能,例如使用从 RAW 到 BLOB 的隐式转换:
insert into blob_fun values(1, hextoraw('453d7a34'));
453d7a34是一串十六进制值,先显式转换为RAW数据类型,然后插入BLOB列。结果是一个 4 字节的 BLOB 值。
【讨论】:
【讨论】: