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

问题描述 投票:0回答:1

嗨,

我想在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

日期或时间的操作无效

感谢您的时间

datetime teradata
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.