【问题标题】:teradata SQL convert real to timestampteradata SQL 将实数转换为时间戳
【发布时间】:2018-12-03 16:38:21
【问题描述】:

我不明白如何将这种类型的实数 - 42389.520752314813 转换为时间戳。

我从一个来源获得了这些数据,但我需要将其转换为正常的时间戳格式。

【问题讨论】:

    标签: sql timestamp teradata


    【解决方案1】:

    我认为您收到了错误的输入数据。

    这种类型的时间戳只有在目标工具是 excel 并且 CELL 为“数字”类型时才会出现,并且在时间戳的复制粘贴期间,目标字段已将其计算为 数学 功能。请重新验证您的来源。我确信这个数学计算。请检查以下此类数据的示例。 So practically you cannot perform its reverse operation.


    【讨论】:

      【解决方案2】:

      在不知道应该返回什么时间戳的情况下很难做到。

      如果日期来自 SQL Server,它可能是“2016-01-22 12:29:53”:

      cast( date '1900-01-01' + myCol as timestamp(3)) 
      + (cast(86400 * (myCol mod 1) as dec(12,6)) * interval '00:00:01.000000' hour to second)
      

      如果它来自 Excel,则提前两天,您必须从“1899-12-30”开始

      【讨论】:

      • 谢谢!是的,它来自excel。只需将单元格数据类型更改为“日期”
      猜你喜欢
      • 2022-07-20
      • 2017-03-29
      • 2017-07-02
      • 2018-02-10
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      相关资源
      最近更新 更多