Я использую SQL Server 2008, и я пытаюсь вычислить две даты из года назад. Скажем, если сегодня это 3/18/13, мне нужно найти 4/1/12, а также найти 4/30/12.Найти дату с прошлого года в SQL Server
Я пробовал следующее, которое дает мне 4/18/12, но не уверен, как получить желаемые даты, упомянутые выше. Кроме того, мне нужно найти 5/1/12, 5/31/12 ... и т. Д. Любая идея? Благодарю.
Я также попытался
DATEADD(YEAR,-1, DATEADD(MONTH,DATEDIFF(MONTH,-11, GETDATE()), 0)) It returns 4/1/12 ,
DATEADD(YEAR,-1, DATEADD(MONTH,DATEDIFF(MONTH,-10, GETDATE()), 0)) also returns 4/1/12 instead of 5/1/12
Зачем вам нужно * рассчитать * их? Это просто тренировка? Если это так, вы можете использовать комбинацию 'DATEDIFF' и' DATEADD', получив количество дней с 1 января, а затем добавив этот номер, чтобы получить нужную дату. Эта логика не зависит от текущей даты - если это нормально. –
Вы подтверждаете, что хотите начать и завершить следующий месяц с сегодняшнего дня, но год назад? Хорошее описание общих требований поможет. –
Да, начало и конец следующего месяца с сегодняшнего дня, но с года назад. Это не для тренировок, а для отчета, который я создаю. – Joe