Discussion:
Comparar fechas sin hora ???
(demasiado antiguo para responder)
Ducky
2005-03-12 18:34:35 UTC
Permalink
Hola,

Tengo registros con fecha y hora exacta de captura
(es esta muy bien)

Necesito hacer un SELECT de todos los registros de hoy con GETDATE()
obviamente como la hora es distinta no me regresa ninguno.
WHERE Archivo.Fecha = GETDATE()

Supongo quitandole le hora a getdate, per no se si es lo mas apropiado.

WHERE Archivo.Fecha = CONVERT(varchar(16), GETDATE(), 102)


Aprecio mucho cualquier informacion relacionada...
Maxi
2005-03-12 23:23:17 UTC
Permalink
Hola, yo en estos casos recomiendo este truco

WHERE Archivo.Fecha >= CONVERT(varchar(10), GETDATE(), 112) AND
Archivo.Fecha < CONVERT(varchar(10), GETDATE()+1, 112)

112 porque debes usar el formato ANSI que es universal :-)
Post by Ducky
Hola,
Tengo registros con fecha y hora exacta de captura
(es esta muy bien)
Necesito hacer un SELECT de todos los registros de hoy con GETDATE()
obviamente como la hora es distinta no me regresa ninguno.
WHERE Archivo.Fecha = GETDATE()
Supongo quitandole le hora a getdate, per no se si es lo mas apropiado.
WHERE Archivo.Fecha = CONVERT(varchar(16), GETDATE(), 102)
Aprecio mucho cualquier informacion relacionada...
Ducky
2005-03-14 18:33:07 UTC
Permalink
Muchas gracias Maxi,
hice lo siguiente y me funcionó:

WHERE (CONVERT(VARCHAR(8), Fecha, 112) = CONVERT(varchar(8), GETDATE(),
112))
(Como soy novato no estoy seguro si hacer esto sea lo mas apropiado)

Tambien me resta la duda sobre 112, ya que leo en la ayuda de CONVERT que
112 es estandar ISO y no ANSI como me comentas.

Sera 112 puede variar con el servidor SQL que se usa?
(aqui tenemos el MS SQL server)

Recibe un cordial saludo,
Post by Maxi
Hola, yo en estos casos recomiendo este truco
WHERE Archivo.Fecha >= CONVERT(varchar(10), GETDATE(), 112) AND
Archivo.Fecha < CONVERT(varchar(10), GETDATE()+1, 112)
112 porque debes usar el formato ANSI que es universal :-)
Post by Ducky
Hola,
Tengo registros con fecha y hora exacta de captura
(es esta muy bien)
Necesito hacer un SELECT de todos los registros de hoy con GETDATE()
obviamente como la hora es distinta no me regresa ninguno.
WHERE Archivo.Fecha = GETDATE()
Supongo quitandole le hora a getdate, per no se si es lo mas apropiado.
WHERE Archivo.Fecha = CONVERT(varchar(16), GETDATE(), 102)
Aprecio mucho cualquier informacion relacionada...
Maxi
2005-03-14 18:36:39 UTC
Permalink
Hola, no es nada bueno hacer esto porque si tienes indices no los usaras :(

Te recomiendo que leas este articulo de un conocido mio ;) donde se explica
como usar las fechas en sqlserver :-)

http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art157.asp
--
--------------------------
Salu2
Maxi
Post by Ducky
Muchas gracias Maxi,
WHERE (CONVERT(VARCHAR(8), Fecha, 112) = CONVERT(varchar(8),
GETDATE(), 112))
(Como soy novato no estoy seguro si hacer esto sea lo mas apropiado)
Tambien me resta la duda sobre 112, ya que leo en la ayuda de CONVERT que
112 es estandar ISO y no ANSI como me comentas.
Sera 112 puede variar con el servidor SQL que se usa?
(aqui tenemos el MS SQL server)
Recibe un cordial saludo,
Post by Maxi
Hola, yo en estos casos recomiendo este truco
WHERE Archivo.Fecha >= CONVERT(varchar(10), GETDATE(), 112) AND
Archivo.Fecha < CONVERT(varchar(10), GETDATE()+1, 112)
112 porque debes usar el formato ANSI que es universal :-)
Post by Ducky
Hola,
Tengo registros con fecha y hora exacta de captura
(es esta muy bien)
Necesito hacer un SELECT de todos los registros de hoy con GETDATE()
obviamente como la hora es distinta no me regresa ninguno.
WHERE Archivo.Fecha = GETDATE()
Supongo quitandole le hora a getdate, per no se si es lo mas apropiado.
WHERE Archivo.Fecha = CONVERT(varchar(16), GETDATE(), 102)
Aprecio mucho cualquier informacion relacionada...
Loading...