我想要时间戳中的微秒,所以我使用下面的查询但没有得到微秒
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')