Consultar solo el mes actual

publicado por: Anonymous

Tengo una factura la cual se llenara de forma mensual, los registros con las fecha lo realiza correctamente a la Hora de Caracas/Venezuela, pero en el siguiente script muestra los valores de ejemplo 05/agosto/17 al 05/septiembre/2017, el cual chocaría con una factura el cual haya sido realizado el mes anterior, es decir solo muestre el mes actual en este caso septiembre, si es octubre muestre solo los registros que se hicieron en octubre y así.

$sql = "SELECT * FROM gasto_g WHERE  `create_at` BETWEEN DATE_SUB( NOW( ) , INTERVAL 1 MONTH ) AND NOW( ) + INTERVAL 4 HOUR ";

Leí sobre curdate y funciona. Me toma la fecha de hoy, pero si se hizo un registro ayer no lo muestra no se si lo hice mal.

Esta es la estructura de la tabla:

introducir la descripción de la imagen aquí

solución

Para obtener los registros del año y mes actual puedes usar CURRENT_DATE():

$sql = "SELECT * FROM gasto_g 
        WHERE YEAR(create_at) = YEAR(CURRENT_DATE()) 
        AND MONTH(create_at)  = MONTH(CURRENT_DATE())";

Si sólo interesa el mes actual, sin importar el año:

$sql = "SELECT * FROM gasto_g 
        WHERE MONTH(create_at) = MONTH(CURRENT_DATE())";
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *