小编典典

如何结束一天?

sql

我正在使用PostgreSQL 8.4。我在表格的一列中my_tbl包含日期(timestamp without timezone)。例如:

       date
-------------------
2014-05-27 12:03:20
2014-10-30 01:20:03
2013-10-19 16:34:34
2013-07-10 15:24:26
2013-06-24 18:15:06
2012-07-14 07:09:14
2012-05-13 04:46:18
2013-01-04 21:31:10
2013-03-26 10:17:02

如何编写一个SQL查询,该查询以以下格式返回所有日期:

xxxx-xx-xx 23:59:59

那是每个日期将被设置为一天的结束。


阅读 148

收藏
2021-05-05

共1个答案

小编典典

取日期,将其截断,添加一天,然后减去一秒:

select date_trunc('day', date) + interval '1 day' - interval '1 second'

update如果要更改表中的数据,可以将逻辑放在其中。

当然,您也可以添加24 * 60 * 60-1秒:

select date_trunc('day', date) + (24*60*60 - 1) * interval '1 second'

但这似乎不太优雅。

2021-05-05