首页 > 解决方案 > 将 DateTime 舍入到最接近的半小时

问题描述

我有一个 DateTime 列,我需要使用 DateTime 列添加一个新列,并转换并舍入分钟 (YYYY-MM-DD HH:mm:00) 格式。

例子:

DateTime
2021-06-01 11:32:00.000
2021-06-01 12:55:00.000
2021-06-01 00:29:40.000

Expected Result:

DateTime-------------------------------Converted--------------
2021-06-01 11:32:00.000----------------2021-06-01 11:30:00.000
2021-06-01 12:55:00.000----------------2021-06-01 12:30:00.000
2021-06-01 01:29:40.000----------------2021-06-01 01:00:00.000

标签: sqlsql-serverdatetime

解决方案


一种方法是旧的DATEDIFFandDATEADD方法:

SELECT DATEADD(MINUTE,DATEDIFF(MINUTE,0,[DateTime])/30*30,0)

推荐阅读