sql-server - 想要在我的日期中获取时间作为 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
解决方案
推荐阅读
- python - 我正在尝试在 travis 上构建除 master 之外的 git 分支
- excel - VBA 子类参考
- angular - Angular 2+ 表单数组验证不起作用
- php - Yii2 GridView 当前行号第一最后一行
- django - 在 UpdateView 中设置表单的实例
- influxdb - 如何从缺少字段的 Influx 数据库中查询?
- angular - 如何从 ag 网格中的单元格渲染器调用方法 - 创建了一个下拉单击事件而不是从选项触发?
- python - 使用 PCACompute2 计算特征值和特征向量
- python - 我避免多个flask-sqlalchemy db条目的方法
- c# - C# Interop:如何遍历 Word doc 中的引用?