Título: consulta con INTERVAL, fechas en Mysql Publicado por: diproxt en 30 Marzo 2014, 05:20 am Hola, no tengo mucha experiencia con fechas en Mysql y me han sacado un gran dolor de cabeza
Quiero hacer una query para seleccionar datos con rango de fecha de 1 día atrás, 1 semana, 1 mes, etc. Aplicando el sgte código no me resulta del todo bien Las fechas en mi BD son varchar con formato 30/12/2013 Código: SELECT * FROM agenda WHERE DATE_SUB( CURDATE( ) , INTERVAL 1 DAY ) <= STR_TO_DATE( AH_Fecha, '%d/%m/%Y' ) el resultado da fechas superiores a esa, alguien me puede ayudar? Título: Re: consulta con INTERVAL, fechas en Mysql Publicado por: Carloswaldo en 31 Marzo 2014, 17:28 pm ¿Por qué la fecha está en un varchar y no en un campo de fecha?
Código: SELECT * FROM agenda WHERE DATE_SUB( CURDATE( ) , INTERVAL 1 DAY ) <= STR_TO_DATE( AH_Fecha, '%d/%m/%Y' ) ¿Qué es exactamente lo que quieres hacer? La consulta hace lo que le dices, si CURDATE() es 31/03/2014, le restas un rango de 1 día y tienes 30/03/2014, y le estás diciendo que esta fecha tiene que ser menor o igual a la que tomas del campo: 30/03/2014 <= 1/04/2014 da TRUE Título: Re: consulta con INTERVAL, fechas en Mysql Publicado por: diproxt en 31 Marzo 2014, 21:00 pm exactamente ese era mi error, estaba trabajando con varchar y es necesario el tipo date ya que al hacer la conversión de varchar a date arrojaba fechas con formato año-mes-dia. Por eso no funcionaba la consulta
Vi un poco tarde la respuesta pero gracias de todas formas Carloswaldo |