在 SQL Server 中添加时间到日期时间列

问题描述

我试图通过使用 sql Server 使用 dateadd 向日期时间列添加 5 小时 30 分钟来查看列,但它不起作用

dateadd(hour,5,dateadd(minute,30,visit_start_time)) 

visit_start_time一个 datetime

解决方法

改为添加 330 分钟(相当于 5 小时 30 分钟),如下所示:

 .item{
    flex:auto;
 } 

或者你可以按照你的尝试去做:

Dateadd(minute,330,visit_start_time)

实际上我刚刚意识到您的查询应该在 sql server 中工作。您使用的是哪个版本的 sql server,哪些版本不起作用?

,

有多种方法可以做到这一点:

  • 使用时间文字
DECLARE @table table(a datetime)
insert into @table values ('2020-02-02T10:00:00.000')


SELECT a,a + CAST('05:30:00' AS DATETIME) FROM @table
一个 更新日期
2020-02-02 10:00:00.000 2020-02-02 15:30:00.000
  • 使用 DATEADD
DECLARE @table table(a datetime)
insert into @table values ('2020-02-02T10:00:00.000')

SELECT DATEADD(minute,30,DATEADD(hour,5,a))  from @table
SELECT DATEADD(minute,a)  from @table
,

您可以执行以下操作:

DATEADD(n,visit_start_time)

n(第一个参数)是 minute 的简写; 330 分钟 = 5 小时 (*60) + 30 分钟。