我不知道它是否对某人有用但我疯狂寻找解决方案并最终自己做了.这是一个函数(根据作为参数传递的日期),将相同的日期和大致时间返回到最接近的5的倍数.这是一个慢查询,所以如果有人有更好的解决方案,欢迎使用.一声问候.
CREATE FUNCTION [dbo].[RoundTime] (@Time DATETIME) RETURNS DATETIME
AS
BEGIN
DECLARE @min nvarchar(50)
DECLARE @val int
DECLARE @hour int
DECLARE @temp int
DECLARE @day datetime
DECLARE @date datetime
SET @date = CONVERT(DATETIME, @Time, 120)
SET @day = (select DATEADD(dd, 0, DATEDIFF(dd, 0, @date)))
SET @hour = (select datepart(hour,@date))
SET @min = (select datepart(minute,@date))
IF LEN(@min) > 1
BEGIN
SET @val = CAST(substring(@min, 2, 1) as int)
END
else
BEGIN
SET @val = CAST(substring(@min, 1, 1) as int)
END
IF @val …Run Code Online (Sandbox Code Playgroud)