用于将字符串转换为时间戳的 Teradata 格式字符串(6)

Teradata format string for converting string to timestamp(6)

我有一列时间戳存储为没有空格、连字符、斜杠或小数点的文本,例如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',但都无效。

是在时间戳的文本版本中插入小数点的唯一选项吗?

如果不添加分隔符,就无法使用 Teradata 的 FORMAT

但是还有TO_CHAR:

TO_TIMESTAMP('20140328160335880258', 'yyyymmddhh24missff6')