Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: MSSQL Stored Procedure -> datetime vergleichsprobleme

  Alt 7. Mai 2008, 16:58
Der Datetime Datentyp des SQL Server hat eine Genauigkeit von einer 3/100 Sekunden.
Der Delphi Datentyp hat eine höhere Genauigkeit; auf jeden Fall können Rundungsfehler bei der Umrechnung auftreten.
Also darf man eigentlich den Datentyp Datetime nicht auf Gleichheit überprüfen !!

Du könntest nun einen Trick anwenden und deine Zeitwerte vorher runden:
Delphi-Quellcode:
function RoundedDateTime(value:TDateTime):TDateTime;
begin
  result := Round(value * 32768) / 32768;
end;
Also anstatt den Wert von Now() direkt zu verwenden, einmal durch obige Funktion jagen und in eine TDateTime Variablen speichern. Dann nur mit diesem Wert arbeiten, denn Now() läuft ja weiter...
Andreas
  Mit Zitat antworten Zitat