用于将字符串转换为时间戳的 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')
我有一列时间戳存储为没有空格、连字符、斜杠或小数点的文本,例如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')