求助oracle高手,将varchar类型数据插入到blob类型字段中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助oracle高手,将varchar类型数据插入到blob类型字段中相关的知识,希望对你有一定的参考价值。

table1 表一pk varchar2(20) 字段一value varchar2(3000) 字段二table2 表二pk varchar2(20) 字段一value blob 字段二如上述表,如何将table1 的数据 插入到 table2 中insert into table2 t2select t1.pk,t1.value from table1 t1;会报错高手指点一下。谢谢

参考技术A to_Blob(rawtohex(字段名)) 将字段名转为16进制数字再插入到blob字段 参考技术B 使用to_blob函数即可
insert into table2 select pk,to_blob(value) from table1;

如果varchar2和blob存在base64的转换关系则可用到utl_encode.base64_encode及decode函数。

将时间戳插入 Oracle 数据库中的 Varchar2 列

【中文标题】将时间戳插入 Oracle 数据库中的 Varchar2 列【英文标题】:Insert Timestamp into Varchar2 column in Oracle Database 【发布时间】:2014-06-16 20:19:02 【问题描述】:

我正在使用与 Oracle 11g 数据库接口的应用程序。我需要将 YYYYMMDDhhmmss 格式的时间戳插入 Varchar2 列中。

我的 SQL 更新查询是:

更新 CODELIST_XREF_ITEM 设置 RECEIVER_ITEM=TIMESTAMP 其中 LIST_NAME='BUSINESS_PROCESS';

TIMESTAMP 变量是需要插入的位置。我尝试将 TIMESTAMP 变量设置为 CURRENT_TIMESTAMP,但我无法对其进行格式化。

有什么建议吗?

提前感谢您的帮助!

【问题讨论】:

有一段时间没有使用 oracle,但尝试 'update CODELIST_XREF_ITEM set RECEIVER_ITEM=to_char(CURRENT_TIMESTAMP,'YYYYMMDD HH24MISSFF') where LIST_NAME='BUSINESS_PROCESS';' 【参考方案1】:

如果您想插入时间戳的字符表示(实际上您似乎需要 Oracle date 的字符表示,因为您不需要小数秒或时区),您可以使用 @ 987654322@函数。

to_char( sysdate, 'YYYYMMDDHH24MISS' )

所以你的UPDATE 声明将是

update CODELIST_XREF_ITEM 
   set RECEIVER_ITEM=to_char( sysdate, 'YYYYMMDDHH24MISS' )
 where LIST_NAME='BUSINESS_PROCESS';

如果您想要存储小数秒或时区或执行其他需要 timestamp 的操作,您可以使用相同的 to_char 函数,但格式掩码不同。

【讨论】:

非常感谢!你回答了我的问题。 确保将此答案标记为已批准,以便贾斯汀获得信任。谢谢。

以上是关于求助oracle高手,将varchar类型数据插入到blob类型字段中的主要内容,如果未能解决你的问题,请参考以下文章

用kettle抽取数据,出现“仅能绑定要插入long列的long值”,怎么解决?请高手帮忙?

关于SQL Server 2000 Varchar长度的一个问题!!请高手解答

将时间戳插入 Oracle 数据库中的 Varchar2 列

请教oracle高手 在oracle里怎么样用一个插入语句插入两表里的数据

Oracle中插入timestamp类型的值

Oracle怎么让varchar类型自动增长