我的 d_date 列的值类似于“2017-04-01 00:00:00” t_time 列的值类似于“1970-01-01 09:43:35”,我想将其合并为一个时间戳,例如“2017-04-01 09:43:35”。
两个输入列的类型均为 timestamp。
请帮忙。
使用内置函数
TIMESTAMP(date, time)
怎么样?
SELECT TIMESTAMP(entry_date, entry_time) AS timestamp
...
我对红移一无所知,但是根据文档我会尝试这样的事情:
SELECT
DATEADD(second,
DATEDIFF(seconds, d_time, DATE_TRUNC('day', d_time)),
t_date) as dt_datetime
...
我不会只是为了测试上面的建议而设置 Redshift 数据库,但如果上面的方法不起作用,我愿意通过聊天帮助您。
您现在可以将 DATE 和 TIME(TZ) 连接成 TIMESTAMP(TZ):
https://docs.aws.amazon.com/redshift/latest/dg/r_DATE-CONCATENATE_function.html
SELECT
date + time, -- TIMESTAMP
date + timetz -- TIMESTAMPTZ
FROM
table