小编Dra*_*ako的帖子

最接近SQL Server的时间为5分钟

我不知道它是否对某人有用但我疯狂寻找解决方案并最终自己做了.这是一个函数(根据作为参数传递的日期),将相同的日期和大致时间返回到最接近的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)

t-sql sql-server

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

sql-server ×1

t-sql ×1