我正在使用PostgreSQL 8.4。我在表格的一列中my_tbl包含日期(timestamp without timezone)。例如:
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
那是每个日期将被设置为一天的结束。
取日期,将其截断,添加一天,然后减去一秒:
select date_trunc('day', date) + interval '1 day' - interval '1 second'
update如果要更改表中的数据,可以将逻辑放在其中。
update
当然,您也可以添加24 * 60 * 60-1秒:
select date_trunc('day', date) + (24*60*60 - 1) * interval '1 second'
但这似乎不太优雅。