Recientemente, me he estado familiarizando con PostgreSQL (usando 8.2) y encontré la función date_trunc extremadamente útil para comparar fácilmente las marcas de tiempo entre ciertos días/meses/etc. La verdadera utilidad de la función, creo, proviene del hecho de que mantiene la salida en el formato de una marca de tiempo.Date_trunc de PostgreSQL en mySQL
He tenido que cambiar a mySQL (5.0) y encontrar algunas de las funciones de fecha bastante deficientes en comparación. La función extraer parece útil y la función de fecha que he encontrado resuelve algunos de mis problemas, pero ¿hay alguna forma de replicar el date_trunc de PostgreSQL?
A continuación se presenta un ejemplo de cómo solía utilizar date_trunc para que coincida con las marcas de tiempo consultados a sólo los últimos 4 meses, incluido el mes en curso, pero sólo si ha pasado una semana en lo que va del mes:
WHERE date_trunc('month', QUERY_DATE) BETWEEN
date_trunc('month', now()) - INTERVAL '4 MONTH' AND
date_trunc('month', now() - INTERVAL '1 WEEK')
I no tengo idea de cómo recrear esa estipulación en mySQL. Entonces, mi pregunta al final del día es si este tipo de consulta se puede lograr en mySQL al intentar replicar date_trunc (y cómo) o si necesito comenzar a buscar estos tipos de consultas de una manera diferente para que funcionen. en mySQL (y sugerencias sobre cómo hacer eso)?