В последнее время я знаком с PostgreSQL (с использованием 8.2) и нашел функцию date_trunc чрезвычайно полезной для удобного совпадения временных меток между определенными днями/месяцами/и т.д. Я считаю, что реальная полезность функции исходит из того, что она сохраняет вывод в формате метки времени.
Мне пришлось переключиться на mySQL (5.0) и найти некоторые функции даты, которых нет в сравнении. Функция извлечения кажется полезной, и функция даты, которую я нашел, решает некоторые из моих проблем, но есть ли способ репликации PostgreSQL date_trunc?
Ниже приведен пример того, как я использовал date_trunc для сопоставления запрошенных временных меток только за последние 4 месяца, включая текущий месяц, но только если неделя уже прошла в этом месяце:
WHERE date_trunc('month', QUERY_DATE) BETWEEN
date_trunc('month', now()) - INTERVAL '4 MONTH' AND
date_trunc('month', now() - INTERVAL '1 WEEK')
Я не знаю, как воссоздать такую оговорку в mySQL. Итак, мой вопрос в конце дня заключается в том, может ли этот тип запроса быть выполнен в mySQL, попробовав replicate date_trunc (и как) или мне нужно начинать смотреть на эти типы запросов по-другому, чтобы заставить их работать в mySQL (и предложения о том, как это сделать)?