Teradata根据日期和时间创建时间戳

时间:2018-03-02 10:34:36

标签: datetime teradata

您好,

我正在尝试在teradata中创建一个定制的时间戳。最终结果应该是上周六14:30。以下是我的尝试,但我得到一个错误,我想知道是否有人可以帮助

SELECT CAST(CAST(DATE - ((DATE - DATE '0001-01-07') MOD 7) -1 AS FORMAT 'DD/MM/YYYY') AS CHAR(12)) + ('04:00:00' - TIME '00:00:00' HOUR TO SECOND) ts
  

日期或时间的无效操作

感谢您的时间

1 个答案:

答案 0 :(得分:1)

您正在混合Char和Interval,这是不允许的。

要获得上周六,您可以找到下一个星期日并减去8天:

Next_Day(Current_Date, 'Sun')-8

现在将其转换为时间戳并添加间隔:

Cast(Next_Day(Current_Date, 'Sun')-8 AS TIMESTAMP(0)) + INTERVAL '14:30' HOUR TO MINUTE