将Teradata时间戳转换为Epoch

时间:2017-02-14 04:37:58

标签: timestamp teradata unix-timestamp epoch to-timestamp

此问题的一个版本已在几年前被提及并回答:Timestamp to epoch conversion in teradata

然而,其中一个答案中有一条评论让我相信可能有一种解决这个问题的新方法。因为我的声誉"不够高,我不能问一个发表评论的人的问题,这就是我再次提出这个问题的原因。

我试图在Teradata中将CURRENT_TIMESTAMP转换为Epoch时间。我想远离UDF。上一个问题中的评论提到了将Epoch时间转换为TIMESTAMP的Teradata函数。所以,我真正的问题是"是否可以轻松地将TIMESTAMP转换为Epoch?#34;

1 个答案:

答案 0 :(得分:0)

我正在研究TD 15.10 请注意,大整数文字可能默认解释为精度为0的小数,因此需要强制转换才能被函数接受。

select  to_timestamp(cast(-62135596800 as bigint))          as min_legal_val
       ,to_timestamp(0)                                     as zero
       ,to_timestamp(cast (9223372036854775807 as bigint))  as max_val
;
+----------------------------+----------------------------+----------------------------+
| min_legal_val              | zero                       | max_val                    |
+----------------------------+----------------------------+----------------------------+
| 0001-01-01 00:00:00.000000 | 1970-01-01 00:00:00.000000 | 2548-01-00 15:30:07.000000 |
+----------------------------+----------------------------+----------------------------+