首页 > 解决方案 > 想要在我的日期中获取时间作为 SQL 中 5 的倍数

问题描述

Declare @StartDate DATETIME = GetDate()
    DECLARE  @increase INT = 5;
    DECLARE @EndDate DATETIME =  (SELECT DATEADD(mi, @increase,   @StartDate))
    select @StartDate,@EndDate

在上面的查询中,我将当前时间增加了 5 分钟。现在我想要的是,如果查询返回 2020-12-16 09:26:16.103 作为开始时间和 2020-12-16 09:31:16.103 作为结束时间,则开始时间应该自动变为 2020-12-16 09:25 :16.103 和结束时间将相应增加 5 分钟。我希望我很清楚。

以上问题的答案如下。发布以便帮助他人

Declare @StartDate DATETIME = GetDate() 
set @StartDate=(select dateadd(minute, datediff(minute, '1900-01-01', dateadd(second, 150,  @StartDate))/5*5, 0))
    DECLARE  @increase INT = 5;
    DECLARE @EndDate DATETIME =  (SELECT DATEADD(mi, @increase,   @StartDate))
    select @StartDate,@EndDate

标签: sql-server

解决方案


推荐阅读