Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FireDAC schneidet bei Datetime die Millisekunden ab (https://www.delphipraxis.net/210722-firedac-schneidet-bei-datetime-die-millisekunden-ab.html)

Zogi 31. Mai 2022 16:41

Datenbank: MariaDB • Version: 10 • Zugriff über: FireDAC

FireDAC schneidet bei Datetime die Millisekunden ab
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz