tecnica de fecha ?

08/11/2004 - 21:06 por Javier | Informe spam
Al grabar datos de fecha en SQL SERVER estos deben ser "DATETIME" o
"SMALLDATETIME" en sql se graban con el tiempo (si fueron originado en el
mismo servidor con getdate() ). El problema es que si mando a buscar o
ejecutar una senencia select donde WHERE FECHA= ?FEC_BUSCAR , al pasar una
fecha que no tiene hora la sentencia no devuelve nada, o si esto se ejecuta
en un rango de fecha WHERE FECHA >= ?FECHA1 AND FECHA <= FECHA2 pueden
quedarse registro que tienen el mismo dia fuera de la consulta.

Cual es la mejor forma de manejar esto. o se hace estrictamente necesario
descomponer la fecha para evaluarla


Gracias adelantadas.

Preguntas similare

Leer las respuestas

#1 Alex Feldstein
09/11/2004 - 00:05 | Informe spam
On Mon, 8 Nov 2004 12:06:02 -0800, Javier
wrote:

Al grabar datos de fecha en SQL SERVER estos deben ser "DATETIME" o
"SMALLDATETIME" en sql se graban con el tiempo (si fueron originado en el
mismo servidor con getdate() ). El problema es que si mando a buscar o
ejecutar una senencia select donde WHERE FECHA= ?FEC_BUSCAR , al pasar una
fecha que no tiene hora la sentencia no devuelve nada, o si esto se ejecuta
en un rango de fecha WHERE FECHA >= ?FECHA1 AND FECHA <= FECHA2 pueden
quedarse registro que tienen el mismo dia fuera de la consulta.

Cual es la mejor forma de manejar esto. o se hace estrictamente necesario
descomponer la fecha para evaluarla



Delimita la fecha entre apóstrofes:

FEC_BUSCAR=DTOC(DATE())
... WHERE FECHA= '?FEC_BUSCAR'


Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net
Respuesta Responder a este mensaje
#2 José G. Samper
09/11/2004 - 01:42 | Informe spam
Hola como estas, la mejor solución a esto es lo siguiente. Si tu deseas
traer solo el contenido de un día, asumamos el 01/01/2004, debes colocar la
sentencia de la siguiente manera

select * from tabla where fecha=>'01/01/2004' and fecha<'02/01/2004'

y en tu caso seria

lfecha=date()
lfecha1=lfecha+1

select * from tabla where fecha=>?lfecha and fecha<lfecha1

Saludos



________________________
José G. Samper C.
MCAD/MCSD .Net
http://www.FoxyNet.Net


"Javier" escribió en el mensaje
news:
Al grabar datos de fecha en SQL SERVER estos deben ser "DATETIME" o
"SMALLDATETIME" en sql se graban con el tiempo (si fueron originado en el
mismo servidor con getdate() ). El problema es que si mando a buscar o
ejecutar una senencia select donde WHERE FECHA= ?FEC_BUSCAR , al pasar una
fecha que no tiene hora la sentencia no devuelve nada, o si esto se


ejecuta
en un rango de fecha WHERE FECHA >= ?FECHA1 AND FECHA <= FECHA2 pueden
quedarse registro que tienen el mismo dia fuera de la consulta.

Cual es la mejor forma de manejar esto. o se hace estrictamente necesario
descomponer la fecha para evaluarla


Gracias adelantadas.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida