Desde que empecé a trabajar con bases de datos y con programación en PHP algo a lo que siempre he tenido mucha tirria es al manejar de fechas. Con el paso del tiempo lógicamente te vas adaptando y lo que antes te costaba medio siglo ahora lo haces en un pis-pas.
Registros entre dos fechas con MySQL
En el artículo de hoy os voy a enseñar algo bastante simple pero muy útil para por ejemplo, sacar estadísticas de registros de usuarios o de ingresos de una plataforma online. Vamos a plantearnos que queremos sacar el número de usuarios registrados entre el 20 de Marzo de 2016 y el 31 de Mayo de 2016 y para ello vamos a hacer uso de la sentencia BETWEEN de MySQL:
SELECT * FROM `usuarios` WHERE fecha BETWEEN '2016-03-20' AND '2016-20-31'
Si os fijáis la consulta es bastante sencilla y lo único que tendrías que reemplazar es el nombre de la tabla y el campo donde guardamos la fecha (que podría ser reg_date, fecha_registro,etc) , además de las fechas entre las que queráis consultar siempre en el formato YYYY-MM-DD donde YYYY es el año MM el mes y DD el día.
Si quisiéramos sacar los registros de usuarios entre dos horas del día determinadas (si el campo fecha fuera un DATETIME lógicamente) solo tendríamos que modificar la consulta por:
SELECT * FROM `usuarios` WHERE fecha BETWEEN '2016-03-20 15:00:00' AND '2016-03-20 18:00:00'
La sentencia BETWEEN no solo es aplicable a fechas si no que la podréis aplicar a otro tipo de rangos por ejemplo entre dos números.
Espero que os sirva este pequeño tip el cual es bastante útil.
Hola:
¿Por qué no me funciona lo siguiente?
$buscar = «SELECT * FROM `movies` WHERE `year` BETWEEN ‘$nom1’ AND ‘$nom2′»;
Es una base de datos de películas y quiero que en el buscador te busque los títulos que hay entre los años $nom1 y $nom2 (seleccionados por el usuario).
Gracias
Es posible que no estes indicando bien la fecha. ¿Que contienen las variables $nom1 y $nom2?
Excelente aporte me sirvio mucho
BUEN APORTE! GRACIAS!
Hola Juan gracias por la explicación. En mi caso estoy intentando obtener resultados del número de veces que un usuario accede a una información por día dentro de un intervalo de fechas, por ejemplo:
Intervalo: Desde 20200404 Hasta 20200406
Fecha | accesos
20200404 | 7
20200405 | 10
20200406 | 7
Para luego acceder a cada registro y mostrar un gráfico con información de accesos por dia.
Excelente, me funciono gracias
Gracias, me saco de un apuro!