SQL Server 2005 Использование DateAdd для добавления дня к дате - PullRequest
63 голосов
/ 03 октября 2008

Как в SQL Server 2005 использовать функцию DateAdd для добавления дня к дате

Ответы [ 6 ]

122 голосов
/ 03 октября 2008

Используйте следующую функцию:

DATEADD(type, value, date)
  • дата - это дата, которой вы хотите манипулировать

  • значение - это целочисленное значение, которое вы хотите добавить (или вычесть, если укажите отрицательное число)

  • тип является одним из:

    • ггггггг: год
    • кв, кв: квартал
    • мм, м: месяц
    • уу, у: день года
    • дд, д: день
    • WK, WW: неделя
    • DW, W: день недели
    • чч: час
    • ми, н: минута
    • сс или с: секунда
    • мс: миллисекунда
    • мкс: микросекунда
    • нс: наносекунда

SELECT DATEADD (dd, 1, GETDATE ()) вернет текущую дату + 1 день

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

22 голосов
/ 03 октября 2008
DECLARE @MyDate datetime

-- ... set your datetime's initial value ...'

DATEADD(d, 1, @MyDate)
13 голосов
/ 03 марта 2014

Попробуйте следующий код Добавить один день к текущей дате

select DateAdd(day, 1, GetDate())

И таким же образом можно использовать Год, Месяц, Час, Секунду и т. Д. Вместо дня в той же функции

9 голосов
/ 25 октября 2013

Следующий запрос, который я использовал в sql-server 2008, может вам помочь.

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

* 20 - дневное количество

4 голосов
/ 03 октября 2008
DECLARE @date DateTime
SET @date = GetDate()
SET @date = DateAdd(day, 1, @date)

SELECT @date
1 голос
/ 05 февраля 2010
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
...