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.