【问题标题】:SQL Server 2019 - add day in date with time componentSQL Server 2019 - 添加日期和时间组件
【发布时间】:2020-12-24 10:21:50
【问题描述】:
我想用时间组件添加 1 天。
我的日期是例如。
2020-09-10 18:30:00.000'
我想添加 24 小时,即预期输出是
2020-09-11 18:30:00.000
我写了SELECT DATEADD(day, DATEDIFF(day, 0, '2020-09-10 18:30:00.000'), 1),但这没有显示时间部分。
如何添加带有时间组件的日期?
【问题讨论】:
标签:
sql
sql-server
string
date
sql-server-2019
【解决方案1】:
SQL Server 在识别日期格式方面非常灵活,如果您将字符串放入日期函数中,它会很乐意将您的字符串理解为日期。所以,不需要从字符串到日期的显式转换,你可以这样做:
dateadd(day, 1, '2020-09-10 18:30:00.000')
【解决方案2】:
尝试删除datediff()。而根据the documentation,日期是dateadd()函数的第三个参数。
select dateadd(day, 1, convert(datetime, '2020-09-10 18:30:00.000') );
输出:
2020-09-11 18:30:00.000