Problemas con fechas

21/07/2006 - 21:51 por Firefox | Informe spam
Hola de nuevo, en el Query Analyzer estoy probando una serie de
consultas para ir armando mi procedimiento almacenado. Soy bastante
nuevo en SQL y agradezco su consideracion en este caso:

OK, pasa lo siguiente si coloco "select * from tbl_pedidos where fecha

= '01-07-2006' "



funciona de maravillas

peeeero si coloco "select * from tbl_pedidos where fecha = '01-07-2006'
" ->solo cambia a signo igual

siendo q esa fecha existe en la base de datos pero sencillamente no
regresa ningun registro

¿ QUE PUEDE ESTAR PASANDO ?

Gracias MIl :),

Preguntas similare

Leer las respuestas

#1 Victor Koch
21/07/2006 - 22:05 | Informe spam
Hola,

Las fechas deben estar en el formato aaaammdd, proba así:

select * from tbl_pedidos where fecha = '20060701'


Un saludo, Víctor Koch.


"Firefox" escribió en el mensaje
news:
Hola de nuevo, en el Query Analyzer estoy probando una serie de
consultas para ir armando mi procedimiento almacenado. Soy bastante
nuevo en SQL y agradezco su consideracion en este caso:

OK, pasa lo siguiente si coloco "select * from tbl_pedidos where fecha
= '01-07-2006' "



funciona de maravillas

peeeero si coloco "select * from tbl_pedidos where fecha = '01-07-2006'
" ->solo cambia a signo igual

siendo q esa fecha existe en la base de datos pero sencillamente no
regresa ningun registro

¿ QUE PUEDE ESTAR PASANDO ?

Gracias MIl :),
Respuesta Responder a este mensaje
#2 J.A. García Barceló
21/07/2006 - 22:20 | Informe spam
También puede ocurrir que lo que tu consideras sólo una fecha, sea en
realidad una fecha+hora (el tipo de datos es datetime). No es lo mismo
'2006-07-01 00:00:00' que '2006-07-01 19:20:43'. Si realizas comparaciones
en igualdad estricta asegurate de descartar la parte de la hora. Tal vez te
resulte mas sencillo hacer comparaciones en desigualdad como:

select *
from tbl_pedidos
where fecha >= CONVERT(datetime, '2006-07-01 00:00:00', 120) and
fecha < CONVERT(datetime, '2006-07-02 00:00:00', 120)

Fíjate que una de las comparaciones es estricta (<) y la otra no (>=). Esto
te debe funcionar independientemente de que los campos datetime tengan o no
información sobre la hora.

J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Firefox" escribió en el mensaje
news:
Hola de nuevo, en el Query Analyzer estoy probando una serie de
consultas para ir armando mi procedimiento almacenado. Soy bastante
nuevo en SQL y agradezco su consideracion en este caso:

OK, pasa lo siguiente si coloco "select * from tbl_pedidos where fecha
= '01-07-2006' "



funciona de maravillas

peeeero si coloco "select * from tbl_pedidos where fecha = '01-07-2006'
" ->solo cambia a signo igual

siendo q esa fecha existe en la base de datos pero sencillamente no
regresa ningun registro

¿ QUE PUEDE ESTAR PASANDO ?

Gracias MIl :),
Respuesta Responder a este mensaje
#3 Firefox
22/07/2006 - 09:48 | Informe spam
Gracias funcionó perfecto! (^ _ ^)


J.A. García Barceló ha escrito:

También puede ocurrir que lo que tu consideras sólo una fecha, sea en
realidad una fecha+hora (el tipo de datos es datetime). No es lo mismo
'2006-07-01 00:00:00' que '2006-07-01 19:20:43'. Si realizas comparaciones
en igualdad estricta asegurate de descartar la parte de la hora. Tal vez te
resulte mas sencillo hacer comparaciones en desigualdad como:

select *
from tbl_pedidos
where fecha >= CONVERT(datetime, '2006-07-01 00:00:00', 120) and
fecha < CONVERT(datetime, '2006-07-02 00:00:00', 120)

Fíjate que una de las comparaciones es estricta (<) y la otra no (>=). Esto
te debe funcionar independientemente de que los campos datetime tengan o no
información sobre la hora.

J.A. García Barceló
http://jagbarcelo.blogspot.com/


"Firefox" escribió en el mensaje
news:
Hola de nuevo, en el Query Analyzer estoy probando una serie de
consultas para ir armando mi procedimiento almacenado. Soy bastante
nuevo en SQL y agradezco su consideracion en este caso:

OK, pasa lo siguiente si coloco "select * from tbl_pedidos where fecha
>= '01-07-2006' "

funciona de maravillas

peeeero si coloco "select * from tbl_pedidos where fecha = '01-07-2006'
" ->solo cambia a signo igual

siendo q esa fecha existe en la base de datos pero sencillamente no
regresa ningun registro

¿ QUE PUEDE ESTAR PASANDO ?

Gracias MIl :),
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida