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

时间:2016-03-21 06:33:23

标签: sql teradata

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

是否只能在时间戳的文本版本中插入小数点?

1 个答案:

答案 0 :(得分:2)

在没有添加分隔期的情况下,无法使用Teradata的FORMAT

但也有TO_CHAR

TO_TIMESTAMP('20140328160335880258', 'yyyymmddhh24missff6')