Teradata 从日期和时间创建时间戳

Teradata Create a timestamp from a date and time

嗨,

我正在尝试在 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

Invalid Operation for date or time

感谢您的宝贵时间

您正在混合使用 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