【问题标题】:SQL Server 2005 Using DateAdd to add a day to a dateSQL Server 2005 使用 DateAdd 将日期添加到日期
【发布时间】:2010-09-15 02:43:32
【问题描述】:

如何在 SQL Server 2005 中使用 DateAdd 函数将日期添加到日期

【问题讨论】:

    标签: sql sql-server tsql date dateadd


    【解决方案1】:
    DECLARE @MyDate datetime
    
    -- ... set your datetime's initial value ...'
    
    DATEADD(d, 1, @MyDate)
    

    【讨论】:

      【解决方案2】:
      DECLARE @date DateTime
      SET @date = GetDate()
      SET @date = DateAdd(day, 1, @date)
      
      SELECT @date
      

      【讨论】:

        【解决方案3】:

        使用以下函数:

        DATEADD(type, value, date)
        
        • 日期是您要操纵的日期

        • value 是您要添加的整数值(如果您提供负数,则要减去)

        • 类型是以下之一:

          • yy, yyyy: 年
          • qq, q: 季度
          • mm, m: 月
          • dy, y: 一年中的哪一天
          • dd,d:天
          • 周,周:周
          • dw, w: 工作日
          • hh:小时
          • mi,n:分钟
          • ss 或 s: 秒
          • ms:毫秒
          • mcs: 微秒
          • ns: 纳秒

        SELECT DATEADD(dd, 1, GETDATE()) 将返回当前日期 + 1 天

        http://msdn.microsoft.com/en-us/library/ms186819.aspx

        【讨论】:

        • 我认为你想使用 GETDATE() 或 CURRENT_TIMESTAMP 而不是 NOW()
        【解决方案4】:
        Select getdate() -- 2010-02-05 10:03:44.527
        
        -- To get all date format
        select CONVERT(VARCHAR(12),getdate(),100) +' '+ 'Date -100- MMM DD YYYY' -- Feb 5 2010
        union
        select CONVERT(VARCHAR(10),getdate(),101) +' '+ 'Date -101- MM/DDYYYY'
        Union
        select CONVERT(VARCHAR(10),getdate(),102) +' '+ 'Date -102- YYYY.MM.DD'
        Union
        select CONVERT(VARCHAR(10),getdate(),103) +' '+ 'Date -103- DD/MM/YYYY'
        Union
        select CONVERT(VARCHAR(10),getdate(),104) +' '+ 'Date -104- DD.MM.YYYY'
        Union
        select CONVERT(VARCHAR(10),getdate(),105) +' '+ 'Date -105- DD-MM-YYYY'
        Union
        select CONVERT(VARCHAR(11),getdate(),106) +' '+ 'Date -106- DD MMM YYYY' --ex: 03 Jan 2007
        Union
        select CONVERT(VARCHAR(12),getdate(),107) +' '+ 'Date -107- MMM DD,YYYY' --ex: Jan 03, 2007
        union
        select CONVERT(VARCHAR(12),getdate(),109) +' '+ 'Date -108- MMM DD YYYY' -- Feb 5 2010
        union
        select CONVERT(VARCHAR(12),getdate(),110) +' '+ 'Date -110- MM-DD-YYYY' --02-05-2010
        union
        select CONVERT(VARCHAR(10),getdate(),111) +' '+ 'Date -111- YYYY/MM/DD'
        union
        select CONVERT(VARCHAR(12),getdate(),112) +' '+ 'Date -112- YYYYMMDD' -- 20100205
        union
        select CONVERT(VARCHAR(12),getdate(),113) +' '+ 'Date -113- DD MMM YYYY' -- 05 Feb 2010
        
        
        SELECT convert(varchar, getdate(), 20) -- 2010-02-05 10:25:14
        SELECT convert(varchar, getdate(), 23) -- 2010-02-05
        SELECT convert(varchar, getdate(), 24) -- 10:24:20
        SELECT convert(varchar, getdate(), 25) -- 2010-02-05 10:24:34.913
        SELECT convert(varchar, getdate(), 21) -- 2010-02-05 10:25:02.990
        
        
        ---==================================
        -- To get the time
        select CONVERT(VARCHAR(12),getdate(),108) +' '+ 'Date -108- HH:MM:SS' -- 10:05:53
        
        select CONVERT(VARCHAR(12),getdate(),114) +' '+ 'Date -114- HH:MM:SS:MS' -- 10:09:46:223
        SELECT convert(varchar, getdate(), 22) -- 02/05/10 10:23:11 AM
        ----=============================================
        SELECT getdate()+1
        SELECT month(getdate())+1
        SELECT year(getdate())+1
        

        【讨论】:

        • 这似乎是对另一个问题的回答。
        【解决方案5】:

        我在sql-server 2008中使用的以下查询,它可能对你有帮助。

        For add day  DATEADD(DAY,20,GETDATE())
        

        *20 是天数

        【讨论】:

          【解决方案6】:

          试试下面的代码会增加一天到当前日期

          select DateAdd(day, 1, GetDate())
          

          同样可以在同一个函数中使用年、月、时、秒等代替日

          【讨论】:

            猜你喜欢
            • 2021-05-27
            • 2016-12-11
            • 2014-08-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-22
            • 2010-11-12
            相关资源
            最近更新 更多