Это связано с Пол даты в SQL-сервере , но я делаю еще один шаг вперед:
Я пишу запрос к таблице SQL Server и хочу получить все записи за текущий календарный год и предыдущий календарный год. Итак, прямо сейчас, я бы хотел, чтобы запрос возвращал все записи в период с 1 января 2008 года и по сегодняшний день. Но 1 января 2010 года я хочу, чтобы он возвращал записи не старше 2009 года.
По сути, я хочу указать текущую дату в начале года, а затем вычесть 1.
Покопавшись в какой-то документации по SQL Server, я пришел к следующему:
WHERE create_date >= CAST((CAST(YEAR(GETDATE()) AS int) -1) AS varchar)
но это немного уродливо. Есть ли лучший способ?