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

como puedo hacer esta sentencia sql

Estas en el tema de como puedo hacer esta sentencia sql en el foro de Mysql en Foros del Web. tengo dos campos el primer campo es el id el segundo campo es el de fecha ejemplo id fecha 1 01/03/2012 2 01/03/2012 3 01/05/2012 ...
  #1 (permalink)  
Antiguo 28/11/2012, 14:05
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
como puedo hacer esta sentencia sql

tengo dos campos

el primer campo es el id
el segundo campo es el de fecha

ejemplo

id fecha
1 01/03/2012
2 01/03/2012
3 01/05/2012
4 01/06/2012
5 01/07/2012
6 01/08/2012
7 01/10/2012
8 01/11/2012
9 01/11/2012
10 01/10/2012
estos son los contenidos de los campos
ahora quiero hacer una búsqueda del
01/07/2012 al 01/11/2012

pero no se como lo haría en sql
me podrían ayudar gracias
  #2 (permalink)  
Antiguo 28/11/2012, 15:42
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: como puedo hacer esta sentencia sql

Hola jor_0203:

Es una pregunta que puede parecer obvia, pero más vale asegurarse... ¿de qué tipo es tu columna FECHA?

MySQL no maneja el formato dd/mm/yyyy, por lo que es imposible que almacene la información tal como la estás colocando, por lo tanto cabe la posibilidad de que estés manejando las fechas como VARCHAR, lo cual sería una completa barbaridad... Además, no nos dices nada de lo que intentaste hacer... porque supongo que al menos intentaste hacer algo verdad??? entonces postea qué es lo que hiciste y los errores que estás teniendo.

Si tus campos son DATE o DATETIME, pues bastaría con que filtraras con el formato ANSI, puedes hacerlo con <= y >= o con BETWEEN:

Código:
...
WHERE fecha BETWEEN '2012-07-01' and '2012-11-01'
..
Código:
...
WHERE fecha >= '2012-07-01' and fecha <= '2012-11-01'
..
Haz la prueba y nos comentas

Saludos
Leo.
  #3 (permalink)  
Antiguo 29/11/2012, 09:51
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: como puedo hacer esta sentencia sql

como dice el Sr. Leonardo_jouse el BETWEEN es la solucion que necesitas

incluso puedes mandar a ordenar dicho resultado como mas te convengan:

Código:
...
BETWEEN '2012-07-01' and '2012-11-01' ORDER BY fecha ASC o DESC
ASC = ascendente
DESC = descendente

todo depende de como quieras estilizar dicha consulta
  #4 (permalink)  
Antiguo 29/11/2012, 11:45
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como puedo hacer esta sentencia sql

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola jor_0203:

Es una pregunta que puede parecer obvia, pero más vale asegurarse... ¿de qué tipo es tu columna FECHA?

MySQL no maneja el formato dd/mm/yyyy, por lo que es imposible que almacene la información tal como la estás colocando, por lo tanto cabe la posibilidad de que estés manejando las fechas como VARCHAR, lo cual sería una completa barbaridad... Además, no nos dices nada de lo que intentaste hacer... porque supongo que al menos intentaste hacer algo verdad??? entonces postea qué es lo que hiciste y los errores que estás teniendo.

Si tus campos son DATE o DATETIME, pues bastaría con que filtraras con el formato ANSI, puedes hacerlo con <= y >= o con BETWEEN:

Código:
...
WHERE fecha BETWEEN '2012-07-01' and '2012-11-01'
..
Código:
...
WHERE fecha >= '2012-07-01' and fecha <= '2012-11-01'
..
Haz la prueba y nos comentas

Saludos
Leo.
esto funciono perfecto
mil gracias
  #5 (permalink)  
Antiguo 29/11/2012, 11:49
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como puedo hacer esta sentencia sql

Cita:
Iniciado por angelsds Ver Mensaje
como dice el Sr. Leonardo_jouse el BETWEEN es la solucion que necesitas

incluso puedes mandar a ordenar dicho resultado como mas te convengan:

Código:
...
BETWEEN '2012-07-01' and '2012-11-01' ORDER BY fecha ASC o DESC
ASC = ascendente
DESC = descendente

todo depende de como quieras estilizar dicha consulta
también funciono muy bien

Etiquetas: sentencia, sql, campos
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 02:12.