【问题标题】: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
      

      【讨论】:

      • 。 .转换为datetime 可能是不必要的。
      猜你喜欢
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 2018-04-13
      相关资源
      最近更新 更多