2012-04-19 3 views
8

Как рассчитать дату после месяца текущей даты.Как рассчитать дату после 1 месяца currentDate

Пример, если у меня есть 19/04/2012 Я хочу получить 19/05/2012. Есть ли какая-нибудь функция на sql, которая позволяет это делать?

мне нужно сделать то же самое в течение года также как 19/04/2012 и установить 19/04/2013

Приветствия

ответ

14

Вы можете использовать DATEADD (DATEPART, номер, дата)

, как указано here

Примеры (благодаря DarrenDavis)

за месяц:

select dateadd(m, 1, getdate()) 

за год:

select dateadd(YY, 1, getdate()) 
+0

Спасибо так много !! – CPM

+0

Возможно ли иметь дату со специфическим часом, например, через 1 месяц после, но время должно быть 16 часов, так будет 2012-04-19 16:00:00 – CPM

+0

вы можете попробовать это ... http: // stackoverflow.com/questions/4952207/set-time-portion-of-a-datetime-variable – Mithir

0

Вы можете использовать DATEADD:

select dateadd(m, 1, getdate()) 
select dateadd(yy, 1, getdate()) 

поиск в Интернете для других показателей периода, такие как час, минут, и т.д.!

+1

Это не сработает: SELECT DATEADD (Y, 1, GETDATE()) - Это должно быть YY –

+0

Исправлено, спасибо! –

1

чтобы добавить 1 месяц до текущей даты:

SELECT DATEADD(m, 1, GETDATE()) 

Чтобы добавить 1 год к текущей дате:

SELECT DATEADD(YY, 1, GETDATE()) 

Дополнительные аргументы см:

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

0

Вы можете использовать этот запрос в течение 1 месяца перед датой. Этот запрос отлично работает в oracle.

select add_months(trunc(sysdate),1) from dual; 

на 1 год вперед дата использовать этот запрос

select add_months(trunc(sysdate),12) from dual; 
+0

Этот вопрос предназначен для SQL Server (с тегами). Нет функции SQL Server add_months и нет двойной таблицы. –

+0

Я этого не видел :) – hitman047

Смежные вопросы