Санаев Asked:2020-07-30 18:29:18 +0000 UTC2020-07-30 18:29:18 +0000 UTC 2020-07-30 18:29:18 +0000 UTC 如何在sql中舍入时间? 772 您需要在 postgres 中四舍五入,因此: 2019-07-24 11:31:22 -> 2019-07-24 12:00:00 2019-07-24 11:29:22 -> 2019-07-24 11:00:00 2019-07-24 11:59:22 -> 2019-07-24 12:00:00 sql 1 个回答 Voted Best Answer Мелкий 2020-07-30T18:54:50Z2020-07-30T18:54:50Z 没有正则函数是为了数学舍入,你可以在正则函数周围做点小魔术date_trunc: melkij=> select d, date_trunc('hour', d) + interval '1 hour' * (d - date_trunc('hour', d) >= interval '30 min')::int from unnest(array['2019-07-24 11:31:22','2019-07-24 11:29:22', '2019-07-24 11:59:22']::timestamp[]) as s(d); d | date_trunc ---------------------+--------------------- 2019-07-24 11:31:22 | 2019-07-24 12:00:00 2019-07-24 11:29:22 | 2019-07-24 11:00:00 2019-07-24 11:59:22 | 2019-07-24 12:00:00 魔术的本质:将值削减为小时,如果削减的值超过原来的半小时以上,则增加一小时。 PS:一个数组,unnest只是不做标志
没有正则函数是为了数学舍入,你可以在正则函数周围做点小魔术
date_trunc:魔术的本质:将值削减为小时,如果削减的值超过原来的半小时以上,则增加一小时。
PS:一个数组,
unnest只是不做标志