你如何从 Postgresql 中单独的日期和时间列创建时间戳?

How do you make a timestamp from separate date and time columns in Postgresql?

我在 Postgresql 中有一个日期列和一个时间列。我想将这两列合并成一个时间戳列。比如我要

date_col (timestamp)
-----------------------
2021-06-28 00:00:00.000
2021-10-11 00:00:00.000
2021-04-01 00:00:00.000

time_col (varchar)
-----------------------
'01:25:00'
'10:55:00'
'08:25:00'

成为

timestamp_col (timestamp)
-----------------------
2021-06-28 01:25:00
2021-10-11 10:55:00
2021-04-01 08:25:00

这是否可以不做繁琐的事情

make_timestamp(date_part('year', date_col), date_part('month', date_col), date_part('day', date_col), date_part('hour', time_col), date_part('minute', time_col), date_part('second', time_col))

只需将 timestamp 转换为日期并添加时间(在将 that 转换为 time 之后):

select date_col::date + time_col::time as timestamp_col
from the_table;