#sql #sql-server
#sql #sql-сервер
Вопрос:
Я понимаю, что вы уже можете получить информацию за последний год, используя DATEADD(year,-1,GETDATE())
, но я хочу выполнить поиск с первого дня этого месяца год назад. Так, например, сегодня 17.10.2016. Я хочу выполнить поиск с 1 ноября 2015 года. Как бы я это отформатировал?
Комментарии:
1. 2k12
DATEFROMPARTS(YEAR(YOURDATE) - 1, MONTH(YOURDATE), 1)
Ответ №1:
select *
from
where datefield>=
dateadd(year,-1,
DATEADD(month, DATEDIFF(month, 0, getdate()), 0)--gives first date of month
)
или с 2012 года: вы можете использовать DATEFROMPARTS, как указано Алексом в комментариях
select DATEFROMPARTS(YEAR(GETDATE()) - 1, MONTH(GETDATE()), 1)