【问题标题】:Teradata format string for converting string to timestamp(6)用于将字符串转换为时间戳的 Teradata 格式字符串(6)
【发布时间】:2016-03-21 15:39:51
【问题描述】:

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

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

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    如果不添加分隔句点,则无法使用 Teradata 的 FORMAT

    但也有TO_CHAR:

    TO_TIMESTAMP('20140328160335880258', 'yyyymmddhh24missff6')   
    

    【讨论】:

      猜你喜欢
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      相关资源
      最近更新 更多