Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   sql fecha milisegundos (https://www.clubdelphi.com/foros/showthread.php?t=88960)

luis77 03-09-2015 18:36:00

sql fecha milisegundos
 
2 Archivos Adjunto(s)
hola buenos dias disculpem las molestias estoy haciendo una busqueda en delphi xe8
pero sql server 2000 usa milisegundos.
mi duda si tambien la realizo la busqueda tomando parametros de milisegundos para que me arroje la busque ya que solo me manda en blanco la busqueda.
adjunto mi tabla y mi codigo
Código Delphi [-]

ADOQUERY1.SQL.Text:='SELECT * FROM clientes where fechaalta=:fechaalta';
adoquery1.close;
 DateTimePicker1.Format := 'yyyy/MM/dd HH:mm:ss';
ADOQuery1.Parameters.ParamByName('fechaalta').Value :=datetimetostr(datetimepicker1.dateTime);
sin embargo ago consultas por medio de analizador de consultas que trae el sql si me arroja colocando solo la fecha y la hora:
Código SQL [-]
select * from contratos where fechaalta between  '10/04/2013 00:00:00.090'and'10/04/2013 23:00:00'
espero me puedan dar una alguna sugerencia
saludos

AgustinOrtu 03-09-2015 18:41:31

Porque lo pasas a string?

luis77 03-09-2015 18:45:07

jeeej perdon :D
no soy tan bueno

olbeup 04-09-2015 09:26:40

Hola Luis77,

No lo he probado mira a ver si te vale.
Código Delphi [-]
...
var
  BetweenStr: String;
begin
  BetweenStr := QuotedStr(FormatDateTime('dd/mm/yyyy hh:nn:ss.000', DateTimePicker1.DateTime));
  BetweenStr := BetweenStr + ' AND ' + QuotedStr(FormatDateTime('dd/mm/yyyy hh:nn:ss.999', DateTimePicker1.DateTime));
  with AdoQuery1 do
  begin
    Close;
    SQL.Add('SELECT *');
    SQL.Add('  FROM Clientes');
    SQL.Add('  WHERE FECHAALTA BETWEEN ' + BetweenStr);
    Open;
  end;
end;
Un saludo.

luis77 04-09-2015 19:11:53

1 Archivos Adjunto(s)
lo intente con tu codigo pero aun me sale el resultado en blanco
como siempre solo sale los encabezados nombre de los campos
gracias todos modos seguire intentando
saludos

Casimiro Notevi 04-09-2015 19:22:45

¿Pero tú lo que quieres es buscar los contratos dados de alta en una fecha determinada o entre horas?

luis77 04-09-2015 19:58:52

notevi lo que quiero es una fecha determinada si se pudiera con la pura fecha adelante y el detalle que sql server 2000 maneja datetime (fecha hora segundo milisegundos) y no se si realmente quiera todos los parametros de (fecha horas segundos y milisendos)para arrojarme el resultado en la busqueda.

ademas despues voy hacer una mas compleja donde pueda sacar un resumen de fechas por ejemplo de un mes. o bien darle los parametros de rangos del atributo de "fecha alta " ya que en mi base no tengo campos de fecha incio ni fecha final solo fecha alta.

"esto si me realiza sql solo con puras fechas y hora"
Código SQL [-]

Select  Sucursales.Sucursal
from ContratosPartidas
Inner Join Contratos On ContratosPartidas.IdControl=Contratos.IdControl
and Contratos.Cancelado='S'
And Contratos.FechaAlta  between '01/01/2015 00:00:00' and '04/09/2015 23:59:59'
espero me ayas entendido
saludos....

Casimiro Notevi 04-09-2015 20:10:28

Cita:

Empezado por luis77 (Mensaje 496297)
espero me ayas entendido

La verdad es que no acabo de entender el problema.
Pero si tienes una tabla con un campo datetime, y quieres hacer una consulta de los que sean de una fecha determinada, solamente debes añadirle lo que has escrito antes, desde las 00:00:00 hasta las 23:59:59
Es así de simple, creo que te estás liando, o no lo he entendido.

luis77 05-09-2015 01:50:17

GRACIAS POR SU VALIOSA AYUDA A TODOS QUE SE TOMARON SU TIEMPO ...
TERMINO ESTE HILO COLOCANDO EL CODIGO FULL
Código Delphi [-]

ADOQUERY1.Close;
ADOQUERY1.SQL.text:='SELECT * FROM contratos where fechaalta between :fechaalta1 AND :fechaalta2';
 DateTimePicker1.Format := 'yyyy/MM/dd HH:mm:ss';
 DateTimePicker2.Format := 'yyyy/MM/dd HH:mm:ss';
 ADOQuery1.Parameters.ParamByName('fechaalta1').Value :=datetimepicker1.dateTime;
 adoquery1.Parameters.ParamByName('fechaalta2').Value:=datetimepicker2.datetime;
:D


La franja horaria es GMT +2. Ahora son las 18:05:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi