在 Informix DB 中将字符串转换为日期

Posted

技术标签:

【中文标题】在 Informix DB 中将字符串转换为日期【英文标题】:Convert String to Date in Informix DB 【发布时间】:2014-01-14 20:27:19 【问题描述】:

我需要在 Informix 数据库中将字符串“12/12/2013 14:30:56.583”转换为日期格式,例如 2013-12-12 14:30:56.583。

我使用了以下功能

to_date('12/12/2013 14:30:56.583',"%d/%m/%Y %H:%M:%S.")    

但它不接受 Milliseconds , Milliseconds 对结果值很重要。

【问题讨论】:

【参考方案1】:

数据库版本很重要。 %F 的行为最近(11.70.xC8 和 12.10.xC2)发生了变化。在以前的版本中,“。” dot 以及“n”限定符可能必须被省略。 问候

【讨论】:

【参考方案2】:

如果您查看手册,您会发现字符串格式中缺少毫秒。

来源:http://www-01.ibm.com/support/knowledgecenter/api/content/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_1542.htm

%S 秒为 2 位整数(00 到 61)。第二个值可以 最多为 61(而不是 59)以允许偶尔的闰秒 和双闰秒。

%Fn 秒的小数部分的值,精度为 无符号整数 n。 n 的默认值为 2; n 的范围是 0 ≤ n ≤ 5。此值覆盖任何宽度或精度 在 % 和 F 字符之间指定。

所以,这可能会起作用:

to_date('12/12/2013 14:30:56.583',"%d/%m/%Y %H:%M:%S.%F3")    

【讨论】:

【参考方案3】:

我对 Informix 不太熟悉,但我认为您可以使用标准的 to_date 函数将字符串值转换为日期,然后使用 addMilliseconds 函数添加毫秒。

http://pic.dhe.ibm.com/infocenter/informix/v121/index.jsp?topic=%2Fcom.ibm.netpr.doc%2Fids_net_093.htm

【讨论】:

以上是关于在 Informix DB 中将字符串转换为日期的主要内容,如果未能解决你的问题,请参考以下文章

在 DB2 中将当前日期转换为 char

如何在 DB2 AS/400 中将十进制字段转换为日期字段?

在 Informix 中将 DATETIME 转换为 Unix 纪元

将日期 unix 转换为时间戳

在mongodb聚合管道中将毫秒转换为日期以进行分组?

如何在 Informix 中转换插入日期时间的格式?