如何将日期和时间组合成时间戳?

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

我的 d_date 列的值类似于“2017-04-01 00:00:00” t_time 列的值类似于“1970-01-01 09:43:35”,我想将其合并为一个时间戳,例如“2017-04-01 09:43:35”。

两个输入列的类型均为 timestamp

请帮忙。

datetime amazon-redshift
3个回答
1
投票

使用内置函数

TIMESTAMP(date, time)
怎么样?

SELECT TIMESTAMP(entry_date, entry_time) AS timestamp
...

0
投票

我对红移一无所知,但是根据文档我会尝试这样的事情:

SELECT
  DATEADD(second, 
          DATEDIFF(seconds, d_time, DATE_TRUNC('day', d_time)), 
          t_date) as dt_datetime
...

我不会只是为了测试上面的建议而设置 Redshift 数据库,但如果上面的方法不起作用,我愿意通过聊天帮助您。


0
投票

您现在可以将 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
© www.soinside.com 2019 - 2024. All rights reserved.