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

Fechas

Estas en el tema de Fechas en el foro de Mysql en Foros del Web. Hola gente como estan.. Pues aca planteando la siguiente cuestion.. Tengo una tabla con los siguientes campos: nombre campo tipo de campo Info varchar fecha_inicial ...
  #1 (permalink)  
Antiguo 12/02/2011, 15:35
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Fechas

Hola gente como estan..

Pues aca planteando la siguiente cuestion..

Tengo una tabla con los siguientes campos:

nombre campo tipo de campo
Info varchar
fecha_inicial datatime
fecha_final datatime


lo que quiero hacer es info se este moestrando dentro del periodo que le corresponde, o sea:

Hola mundo(info) se mostrara del 12 de febrero del 2011(fecfa_inicial) hasta el 24 de febrero del 2011(fecha_final).


como seria la consulta? es posible algo asi? si me explico


Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 12/02/2011, 15:55
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Fechas

Hola.

revisa en el manual la clausula BETWEEN

Suerte.
  #3 (permalink)  
Antiguo 12/02/2011, 16:08
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

pero debo sacar la fecha actual realmente o como no le entiendo al between

gracias de antemano
  #4 (permalink)  
Antiguo 12/02/2011, 18:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Fechas

¿Que es lo que te resulta dificultoso del BETWEEN?
BETWEEN permite determinar un rango restringido de valores dentro de los que se buscará un dato determinado. Tiene tres parámetros: 1) dato buscado, 2) cota inferior (incluida en el rango), cota superior (también incluida en el rango).
Para buscar un valor comprendido entre 100 y 200, incluyendo ambos valores, sería:
Código MySQL:
Ver original
  1. WHERE valorbuscado BETWEEN 100 AND 200
Si vas a trabajar con fechas, lo único que debes hacer es que los tres parámetros sean del mismo tipo de datos buscado:
Código MySQL:
Ver original
  1. WHERE DATE(fechahora) BETWEEN '2011-01-11' AND '2011-02-11'
El siguiente ejemplo produce una conversión de datos implícita, que pone la hora de las cotas como '00:00:00', por lo que si el valor supera esa hora en la cota superior, el registro no será mostrado.
Código MySQL:
Ver original
  1. WHERE campofechahora BETWEEN '2011-01-11' AND '2011-02-11'
Esto sucede porque MySQL convierte un dato menor a uno mayor cuando se lo compara con uno mayor. Y es una conversión implícita, lo que quiere decir que no te avisa cuando la hace, por lo que debes asegurarte siempre que los datos comparados sean compatibles en tipo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 12/02/2011, 21:53
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

muchas gracias @gnzsoloyo pero ahi tengo que darle los 3 valores a la consulta y yo lo quiero es q m este mostrado el texto segun la fecha sin tener q darle el valor a esto BETWEEN '2011-01-11' AND '2011-02-11' si q solo me imprima de acuerdo a la fecha actual..


Saludos
  #6 (permalink)  
Antiguo 13/02/2011, 08:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Fechas

Gromichs,
ya te estaban dando la información que necesitas para hacer algo parecido a esto:
Código MySQL:
Ver original
  1. SELECT info FROM tutabla WHERE NOW() BETWEEN fecha_inicial AND fecha_final
  #7 (permalink)  
Antiguo 13/02/2011, 09:37
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

Upps!! lo siento chicos pense que tenia q ingresar esos valores manualmente cosa que no y yo solo necesito q este imprimiendo eso de acuerdo al periodo y a la fecha actual.


Muchas gracias lair,gnzsoloyo y jurena.
  #8 (permalink)  
Antiguo 13/02/2011, 09:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Fechas

¿Lo que quieres es que te de ciertos datos si la fecha de un campo dado es igual a la fecha de hoy?
Eso ni siquiera requiere el BETWEEN, éste sólo se usa si un dato a buscar está dentro de un rango (tiempo, magnitud, etc), sino, simplemente estás buscando algo que es igual a otra cosa.
Tal vez esto (tomando de base el ejemplo de Jurena):
Código MySQL:
Ver original
  1. SELECT info FROM tutabla WHERE campofecha = CURDATE();
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 13/02/2011, 22:39
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

oo si eso es lo que quiero...

digamos q es una imagen esa imagen quiero que me la este mostrando solo durante el periodo que marco como fecha_inicial y hasta fecha_final.

por eso a mi bd tiene 2 campos llamados fecha_inicial y fecha_final debe haber algo para que busque por ese rango segun la fecha actual o no se


saludos
  #10 (permalink)  
Antiguo 14/02/2011, 05:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Fechas

Cita:
digamos q es una imagen esa imagen quiero que me la este mostrando solo durante el periodo que marco como fecha_inicial y hasta fecha_final.
por eso a mi bd tiene 2 campos llamados fecha_inicial y fecha_final debe haber algo para que busque por ese rango segun la fecha actual o no se
Pues lo único que debes hacer es tomar los ejemplos que ya te dimos y adaptarlo a tu necesidad. No es necesario que te lo demos taaan detallado. ¿No te parece?

De todos modos, lo que necesitas es, si lo manejas por fechas solamente:
Código MySQL:
Ver original
  1. SELECT imagen, fecha_inicial, fecha_final
  2. FROM imagenes
  3. WHERE CURDATE() BETWEEN DATE(fecha_inicial) AND DATE(fecha_final);

Si lo manejas por fecha y hora:
Código MySQL:
Ver original
  1. SELECT imagen, fecha_inicial, fecha_final
  2. FROM imagenes
  3. WHERE NOW() BETWEEN fecha_inicial AND fecha_final;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 14/02/2011, 17:55
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

muchas gracias gnzsoloyo asi sera :) ya lo adaptare deacuerdo a mis necesidades gracias a la info que me han dado.


Saludos

Etiquetas: fechas
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 23:50.