Einzelnen Beitrag anzeigen

Zogi

Registriert seit: 1. Mär 2006
Ort: Augsburg
8 Beiträge
 
Delphi 10.4 Sydney
 
#1

FireDAC schneidet bei Datetime die Millisekunden ab

  Alt 31. Mai 2022, 16:41
Datenbank: MariaDB • Version: 10 • Zugriff über: FireDAC
Delphi 10.4. FireDAC 27.0.0

Ich versuche einen Zeitwert in eine MariaDB inklusive der Millisekunden zu schreiben. Leider schneidet FireDAC immer die Millisekunden ab sobald ich die integrierte Escapefunktion zur Datetime-Konvertierung {dt yyyy-mm-dd hh:nn:ss.zzz} verwende.

Z.B.
Code:
INSERT into timestamps (date_created ) VALUES( {dt 2022-05-31 09:00:00.123} )
hierbei wird nur "2022-05-31 09:00:00" in die DB geschrieben.

Das Verhalten steht so auch im FireDAC-Handbuch und in sofern ist das auch kein Fehler. Aus irgendeinem Grund werden die Millisekunden halt nicht unterstützt.

Verwende ich jedoch direkt ein MariaDB-Konformes-Datumsformat
Code:
INSERT into timestamps (date_created ) VALUES( ("2022-05-31 09:00:00.123") )
dann funktioniert es ohne Probleme.

Da mein Programm mehrere Datenbanktypen unterstützt (MS-SQL, MySQL, Access, PostGreSql) wäre es mir natürlich recht wenn ich nicht für jeden Datenbanktyp den spezifischen Datumsbefehl im SQL unterschiedlich schreiben müsste.

Meine Frage ist nun ob es noch irgendwo einen FireDAC-Schalter gibt über den ich die Time-Precision auf die Millisekunden ausdehnen kann oder ob jemand einen Tipp für mich hat um dieses Verhalten anderweitig zu beeinflussen.
  Mit Zitat antworten Zitat