SQL - Filtrar por fecha

 
Vista:
sin imagen de perfil
Val: 27
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

Filtrar por fecha

Publicado por Pablo (13 intervenciones) el 15/03/2018 22:44:55
Hola, buenas a todos !
Antes que nada, les comento que he estado viendo el foro e intentando solucionar el problema, pero nada :/ .
Yo tengo una tabla y en ella el campo fecha y quiero hacer una consulta entre fechas o " a partir de ...".
Probé con por ejemplo :

SELECT *
FROM Cargas
WHERE fecha BETWEEN '01/01/18' AND '31/01/18' ;

tambien, quería algo como esto,

SELECT
FROM Cargas
WHERE fecha > '15/01/18';

Pero ninguno ha funcionado e intente otros codigos que he visto, me pueden ayudar por favor ?

El formato que tengo de fecha es de tipo DATE y tiene la forma 'dd/mm/yy'.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Filtrar por fecha

Publicado por Leonardo Josué (1173 intervenciones) el 15/03/2018 22:52:19
Hola Pablo:

No nos dices con qué Base de Datos estás trabajando, pero te comento que la mayoría de los DBMS's actuales manejan la fecha con el formato ANSII, es decir YYYY-MM-DD.

Puedes probar tu consulta así:

1
2
3
SELECT *
FROM Cargas
WHERE fecha BETWEEN '2018-01-01' AND '2018-01-31';


Si esto no funciona, dinos con qué motor de BD's estas trabajando, ya que cada motor maneja funciones de FECHA y HORA distintas y es posible que tengas que hacer alguna conversión explícita.

Postea también la estructura de tu tabla y pon algunos datos de ejemplo y con gusto te tratamos de ayudar.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

Filtrar por fecha

Publicado por Pablo (13 intervenciones) el 15/03/2018 23:11:09
Mil gracias Leo !!! Funciono perfecto ! Ahora bien, me gustaria saber algo, en la definicion de la tabla, en el campo fecha puse
tipo DATE y el formato elegido era el que comente 'dd/mm/yy'.
Como es posible que funcione con lo que me pasaste siendo del formato 'yyy-mm-dd' ???
No entiendo eso !, soy un usuario que está empezando en esto, ya me habias ayudado antes y te lo agradezco, trabajo con LIBRE OFFICE BASE.
La verdad es simple y muy completo a mi criterio, deberian de probarlo quienes inician en esto.

Despues otro dato importante !!! Para los que quieran aprender también descubri algo !!!
Pueden realizar la consulta en modo asistente, eligiendo lo que desean, se ejecuta la consulta perfectamente y luego pueden ver el codigo
de la misma para ver como se ha realizado.
Lo malo es que bueno, hay cosas del codigo que quizas no entiendan, pero se ve al menos como se formulo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Filtrar por fecha

Publicado por Leonardo Josué (1173 intervenciones) el 15/03/2018 23:29:48
Hola de nuevo Pablo.

Hay que entender dos cosas, cómo se "almacena" una fecha en la Base de Datos y como se "muestra" al hacer una consulta.

No he trabajado con Libre Office Base, pero no creo que sea muy distinto a cómo trabajan los demás, sobre todo porque funcionó la respuesta que te dí.

Como te comenté en el post anterior, la mayoría, si no es que todos los DBMS's actuales, "almacenan" las fechas en formato ANSI, de tal suerte que no tienes que hacer ninguna "conversión" si manejas este formato.

Sin embargo, la forma en que "MUESTRAS" el dato, varía mucho de un lugar a otro, por lo tanto los DBMS's te permiten "elegir" cómo quieres que se muestren esos datos, justamente para evitar que tengas que hacer también conversiones explícitas. ORACLE por ejemplo tiene el mismo comportamiento que comentas: por defecto, si haces un SELECT a una fecha, por default te lo muestra en formato DD/MM//YY, pero las comparaciones tienes que seguir haciéndolas con el formato ANSI.

Finalmente, con respecto al modo ASISTENTE, si bien son de utilizad, también tienen sus desventajas, sobre todo porque suelen no "optimizar" las consultas. Haz uso de estas herramientas pero no dejes de estudiar la "teoría" de SQL, así con un poco de experiencia podrás elaborar consultas avanzadas sin necesidad de recurrir al asistente.

Cualquier otro problema, no dudes en compartirlo en el foro, con gusto trataremos de ayudarte,

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar