【问题标题】:Determine dates by number of days, "what date is 180 days from now按天数确定日期,“从现在开始 180 天后是什么日期
【发布时间】:2010-02-23 15:11:30
【问题描述】:

如何根据从现在开始的天数来确定日期 - “从现在开始 180 天后是什么日期?”

【问题讨论】:

    标签: sql-server datetime


    【解决方案1】:
    DATEADD(d, 180, GetDate())
    

    【讨论】:

      【解决方案2】:
      SELECT DATEADD(day, 180, getdate())
      

      【讨论】:

        【解决方案3】:
        getdate() + 180
        

        例如:

        select getdate() as Today, getdate() + 180 as About6MonthsLater
        

        【讨论】:

        • 我目前正在为日期苦苦挣扎
        • @Kip:我不明白你的意思。
        • +1,我在想什么。在 SQL Server 中,您可以以天为增量对 DATETIME 使用加法和减法,而无需 DATEADD()
        【解决方案4】:

        由于你只需要日期,所以计算完成后应该去掉时间部分。

        SELECT CONVERT (DATETIME, CONVERT (VARCHAR (20), DATEADD(d, 180, GetDate()), 101))
        

        【讨论】:

        • 为什么要用varchar来砍时间?它依赖于语言环境且效率低下。
        【解决方案5】:

        查找提前 180 天并轻松删除时间组件。

        不依赖内部实现(使用 +)或字符串处理来缩短时间。

        SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 180)
        

        【讨论】:

          猜你喜欢
          • 2011-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-12
          • 1970-01-01
          • 2018-05-16
          • 2019-01-02
          • 1970-01-01
          相关资源
          最近更新 更多