且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

T-SQL:四舍五入到最近的 15 分钟间隔

更新时间:2023-02-04 23:01:26

这里已经回答了 如何在 T-SQL 中计时,我认为它应该对你有用.

This was answered here How to Round a Time in T-SQL and i think it should work for you to.

CREATE FUNCTION [dbo].[RoundTime] (@Time datetime, @RoundTo float) RETURNS datetime
AS
BEGIN
    DECLARE @RoundedTime smalldatetime, @Multiplier float

    SET @Multiplier = 24.0 / @RoundTo

    SET @RoundedTime= ROUND(CAST(CAST(CONVERT(varchar, @Time, 121) AS datetime) AS float) * @Multiplier, 0) / @Multiplier

    RETURN @RoundedTime
END

-- Usage    
SELECT dbo.RoundTime('13:15', 0.5)