Простой, но медленный подход:
WHERE DATEPART(qq,startDate) = DATEADD(qq, 1,GETDATE()) AND YEAR(startDate) =
YEAR(DATEADD(qq, 1,GETDATE()))
Под медленным я подразумеваю, что даже если у вас есть индекс (startDate), он не будет использоваться.
Лучшее решение - получить start_date и end_date на следующий квартал.Я вижу несколько способов сделать это.Например, вы можете создать 2 скалярных UDF, которые возвращают start_date и end_date соответственно.Вы также можете создать 1 табличную функцию, которая возвращает 1 строку с 2 столбцами, а затем присоединиться к ней.Наконец, вы можете просто создать справочную таблицу и вручную ввести дату начала / окончания на следующие пару лет.