你如何从 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;
我在 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;