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

Posted

技术标签:

【中文标题】将时间戳插入 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 数据库中的 Varchar2 列的主要内容,如果未能解决你的问题,请参考以下文章

将 UTC 时间戳(毫秒)插入 Oracle 时间戳列

在oracle 10g sql plus中将日期和时间插入时间戳

怎样手动插入时间 oracle

将 YYYY-MM-DDTHH24:MI:SEC.milliseconds 时间戳插入 Oracle

将系统时间戳插入配置单元表中的时间戳字段

Oracle 中的时间戳转换为 YYYY-MM-DD HH:MM:SS 格式