Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda condición fecha en sentencia MySQL

Estas en el tema de Ayuda condición fecha en sentencia MySQL en el foro de Bases de Datos General en Foros del Web. Hola amigos: Para sacar en una consulta de MySQL filas de una tabla cuya condición sea que dada una fecha(tipo date) esté dicha fecha entre ...
  #1 (permalink)  
Antiguo 30/07/2004, 09:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 146
Antigüedad: 20 años, 6 meses
Puntos: 1
Ayuda condición fecha en sentencia MySQL

Hola amigos:


Para sacar en una consulta de MySQL filas de una tabla cuya condición sea que dada una fecha(tipo date) esté dicha fecha entre 2 fechas(desde y hasta que son campos de la tabla) ¿cómo se haría?

Es que soy nuevo en MySQL y todavía estoy un poco verde.Muchas gracias.Un saludo
__________________
·۰•●Pi®®ili●•۰· Lo esencial es invisible a los ojos
  #2 (permalink)  
Antiguo 30/07/2004, 09:32
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
13.5 Date and Time Functions

Ahi tenes los formatos que podrías usar.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 30/07/2004, 09:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 146
Antigüedad: 20 años, 6 meses
Puntos: 1
Perdón,yo lo que busco no es el formato sino cómo quedaría la sentencia en MySQL,a ver si me explico:

Tengo un formulario en php y entre muchos de los campos tengo uno llamada desde y otro llamada hasta.Ambos son 2 listas despegables normales donde se puede seleccionar una fecha desde y hasta que servirán para filtrar la búsqueda en la base de datos.
El script que recoge dichas variables mediante el método post las convertiré al formato date de MySQL(0000-00-00) para su posterior comparación con la fecha que tengo almacenada ya en la base de datos.
Ahora bien,lo que no sé es como hacer la sintaxis de dicha sentencia.Por ejemplo,si tengo la variable desde=2003-01-01 y hasta=2004-01-01 recogidas ambas del formulario y tengo un campo fecha en una tabla lo que quiero es seleccionar dichas filas de la tabla que tengan como condición que se encuentren entre desde y hasta,sólo eso.
Sería---> SELECT * FROM MERITOS WHERE ...... <==== aquí es donde no sé cómo poner la sintaxis,en el WHERE

¿Me habéis entendido ahora?Espero que si,un saludo
__________________
·۰•●Pi®®ili●•۰· Lo esencial es invisible a los ojos
  #4 (permalink)  
Antiguo 30/07/2004, 09:51
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Lo que pides lo puedes poner así:
select * from tabla where fecha between $fechadesde and $fechahasta

Un saludo.
  #5 (permalink)  
Antiguo 30/07/2004, 10:20
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Lo que te dice Vice puede funcionar pero hay que recordar que tenes un campo tipo DATETIME y yo lo haría de esta forma:
Código PHP:
SELECT FROM tabla
WHERE DATE_FORMAT
(fecha,"%Y-%m-%d") >= "2003-01-01" AND
DATE_FORMAT(fecha,"%Y-%m-%d") <= "2004-01-01"

SELECT FROM tabla
WHERE DATE_FORMAT
(fecha,"%Y-%m-%d")
BETWEEN "2003-01-01" AND "2004-01-01" 
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:25.