Cuando hacemos aplicaciones web que requieren reportes debemos hacer querys que se salen del uso habitual al que estamos acostumbrados, esta semana me ha tocado hacer un reporte que extraiga datos de una semana especifica, se me habían ocurrido varias formas de hacerlo, pero la mas efectiva es la que describiré a continuación:
Select * from tabla where WEEK(campo_fecha)=WEEK(“2009-01-31″);
Explicando la query:
la función WEEK nos devuelve el numero de la semana en la que estamos, siempre que le pasemos como parámetro una fecha en formato “YYYY-mm-dd”, entonces lo único que debemos hacer es comparar el numero de semana que nos devuelve la función week al extraer la fecha guardada en la base de datos v/s una fecha determinada.
Esto funciona suponiendo que en nuestra base de datos tenemos una fecha almacenada de esta forma: “2009-01-31″
datos, mysql, semana, week
