我想在时间戳中获取微秒,因此使用以下查询,但未获取到微秒
select TIMESTAMP_FORMAT(CURRENT_TIMESTAMP,
'YYYY-MM-DD HH:MM:SS.NNNNNN') FROM SYSIBM.SYSDUMMY1
获取:2013-06-01 02:45:12
期望输出:2013-06-01 02:45:12.145235
我想在时间戳中获取微秒,因此使用以下查询,但未获取到微秒
select TIMESTAMP_FORMAT(CURRENT_TIMESTAMP,
'YYYY-MM-DD HH:MM:SS.NNNNNN') FROM SYSIBM.SYSDUMMY1
获取:2013-06-01 02:45:12
期望输出:2013-06-01 02:45:12.145235
看起来您使用了错误的函数,即timestamp_format
的用法为:
TIMESTAMP_FORMAT
函数基于使用指定格式解释输入字符串来返回时间戳。
该函数接收字符串并返回时间戳 - 转换是根据规范字符串完成的。例如:
VALUES (TIMESTAMP_FORMAT('1999-12-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS'))
--------------------------
1999-12-31-23.59.59.000000
将tst转换为字符串可以像这样实现:
VALUES cast(current_timestamp as varchar(40))
----------------------------------------
2013-06-05-23.19.15.125000
VALUES( microsecond(current_timestamp), current_timestamp)
----------- --------------------------
468000 2013-06-05-23.21.10.468000
TIMESTAMP_FORMAT('2017-03-01 14:26:02.646171', 'YYYY-MM-DD HH24:MI:SS.NNNNNN')
CURRENT_TIMESTAMP
返回一个时间戳,为什么您觉得需要TIMESTAMP_FORMAT(...)
?请注意,根据您的dbtools设置,它们可能不会被显示(即-某些工具使用“区域特定”的日期设置,可能会给出两位数的年份,而不是4位数)。 - Clockwork-Muse