如何在Informix 中转换插入日期时间的格式?
How to convert the format of inserted datetime in Informix?
我将 date/time 数据插入到 CHAR 列中,格式为:“6/4/2015 2:08:00 PM
”。
我希望这应该自动转换为格式:
'2015-06-04 14:08:00
' 以便它可以在查询中使用,因为 DATETIME 的格式是 YYYY-MM-DD hh:mm:ss.fffff
.
如何转换?
鉴于您已将数据存储为字符串格式(CHAR 或 VARCHAR),您必须决定如何使其作为 DATETIME YEAR TO SECOND 值工作。为了计算效率和存储效率,最好将值存储为 DATETIME YEAR TO SECOND 值,在输入时转换它并(如有必要)在输出时重新转换。但是,如果您经常在不进行计算(包括比较或排序)的情况下显示该值,那么可能 rococo 语言环境相关的字符串表示法就可以了。
将字符串转换为 DATETIME 值的关键函数是 TO_DATE
. You also need to look at the TO_CHAR
函数,因为它记录了您需要使用的格式代码,并且因为您将使用它来将 DATETIME 值转换为原始值格式。
假设列名是time_string
,那么需要使用:
TO_DATE(time_string, '%m/%d/%Y %I:%M %x') -- What goes in place of x?
转换为 DATETIME YEAR TO SECOND — 或者可能是 DATETIME YEAR TO MINUTE — 值(将根据需要进一步操作,就像通过 EXTEND 一样)。
我个人几乎肯定会将数据库列转换为 DATETIME YEAR TO SECOND,并在必要时使用 TO_CHAR
将输出转换为字符串格式。列名称现在为 time_value
(为了具体起见):
TO_CHAR(time_value, '%m/%d/%Y %I:%M %x') -- What goes in place of x?
参考的手册页不会立即导致格式字符串的完整规范。我认为相关的参考文献是 GL_DATETIME
environment variable,但发现它需要对 Informix 产品集的奥秘有更多的了解(这是 而不是 首先应该 spring 在任何人的脑海中——甚至不是我的!)。如果那是正确的(可能是),那么在我的例子中应该使用 %p
和 %r
之一来代替 %x
。我必须在我的机器上(重新)配置 Informix 才能对其进行测试。
我将 date/time 数据插入到 CHAR 列中,格式为:“6/4/2015 2:08:00 PM
”。
我希望这应该自动转换为格式:
'2015-06-04 14:08:00
' 以便它可以在查询中使用,因为 DATETIME 的格式是 YYYY-MM-DD hh:mm:ss.fffff
.
如何转换?
鉴于您已将数据存储为字符串格式(CHAR 或 VARCHAR),您必须决定如何使其作为 DATETIME YEAR TO SECOND 值工作。为了计算效率和存储效率,最好将值存储为 DATETIME YEAR TO SECOND 值,在输入时转换它并(如有必要)在输出时重新转换。但是,如果您经常在不进行计算(包括比较或排序)的情况下显示该值,那么可能 rococo 语言环境相关的字符串表示法就可以了。
将字符串转换为 DATETIME 值的关键函数是 TO_DATE
. You also need to look at the TO_CHAR
函数,因为它记录了您需要使用的格式代码,并且因为您将使用它来将 DATETIME 值转换为原始值格式。
假设列名是time_string
,那么需要使用:
TO_DATE(time_string, '%m/%d/%Y %I:%M %x') -- What goes in place of x?
转换为 DATETIME YEAR TO SECOND — 或者可能是 DATETIME YEAR TO MINUTE — 值(将根据需要进一步操作,就像通过 EXTEND 一样)。
我个人几乎肯定会将数据库列转换为 DATETIME YEAR TO SECOND,并在必要时使用 TO_CHAR
将输出转换为字符串格式。列名称现在为 time_value
(为了具体起见):
TO_CHAR(time_value, '%m/%d/%Y %I:%M %x') -- What goes in place of x?
参考的手册页不会立即导致格式字符串的完整规范。我认为相关的参考文献是 GL_DATETIME
environment variable,但发现它需要对 Informix 产品集的奥秘有更多的了解(这是 而不是 首先应该 spring 在任何人的脑海中——甚至不是我的!)。如果那是正确的(可能是),那么在我的例子中应该使用 %p
和 %r
之一来代替 %x
。我必须在我的机器上(重新)配置 Informix 才能对其进行测试。