SQL-запрос для получения записей, которые выпадают в последний день месяца

У меня есть таблица с записями из многих дат. Я хотел бы выполнить запрос, который возвращает только записи, которые попадают в последний день даты »с месяц. Что-то вроде:

SELECT * FROM mytable
WHERE DATEPART(d, mytable.rdate) = DATEPART(d,DATEADD(m,1,DATEADD(d, -1, mytable.rdate)))

Кроме этого нене работает какrdate в правой части аргумента должен быть последний день его 'с месяц дляdateadd вернуть правильное сравнение.

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

РЕДАКТИРОВАТЬ:

По сути, я хочу проверить, является ли данная дата последней в любом месяце (или квартале), в который она попадает. Если это так, верните эту запись. Это может включать в себя некоторую функцию для возврата последнего дня месяца любой даты. напримерlastdayofmonth('2013-06-10') = 30 (поэтому эта запись не будет возвращена.

EDIT2:

В случае возврата записей, которые выпадают в последний день квартала, в котором они находятся, должно быть что-то вроде:

SELECT * FROM mytable
WHERE DATEPART('d', mytable.rdate) = lastdayofmonth(mytable.rdate)
  AND DATEPART('m', mytable.rdate) = lastmonthofquarter(mytable.rdate);

Хитрый бит этоlastdayofmonth() а такжеlastmonthofquarter() функции

Ответы на вопрос(3)

Ваш ответ на вопрос