我有一列时间戳存储为文本,没有空格,连字符,斜杠或小数点,例如20140328160335880258
。我想将此文本转换为Teradata(v15)中的时间戳。
如果切断微秒,则以下工作:
SELECT CAST('20140328160335' AS TIMESTAMP(0) FORMAT 'yyyymmddhhmiss')
但是,我找不到允许将部分秒包含在时间戳中的格式字符串:
SELECT CAST('20140328160335880258' AS TIMESTAMP(6) FORMAT 'yyyymmddhhmiss')
> SELECT Failed. 6760: Invalid timestamp
SELECT CAST('20140328160335880258' AS TIMESTAMP(6) FORMAT 'yyyymmddhhmissssssss')
> SELECT Failed. 3350: Invalid FORMAT string
我已尝试过'yyyymmddhhmiss.ssssss'
,'yyyymmddhhmiss.s(6)'
,'yyyymmddhhmisss(6)'
和'yyyymmddhhmissffffff'
,但都无效。
是否只能在时间戳的文本版本中插入小数点?
答案 0 :(得分:2)
在没有添加分隔期的情况下,无法使用Teradata的FORMAT
。
但也有TO_CHAR
:
TO_TIMESTAMP('20140328160335880258', 'yyyymmddhh24missff6')