AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Welches DateTime Format schluckt jede Datenbank?
Thema durchsuchen
Ansicht
Themen-Optionen

Welches DateTime Format schluckt jede Datenbank?

Ein Thema von t2000 · begonnen am 17. Sep 2020 · letzter Beitrag vom 20. Sep 2020
Antwort Antwort
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#1

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 18. Sep 2020, 11:49
Es gibt noch das ODBC Date-Format:
Code:
{d'2020-12-30'}

update meineTabelle set datumsFeld={d'2020-12-30'}
das versteht u.a. der MSSQL
https://docs.microsoft.com/en-us/sql...l-server-ver15

und MYSQL
https://dev.mysql.com/doc/refman/8.0...-literals.html
.


Anstelle von d "datum" kann auch t "time" oder auch ts "timestamp" genutzt werden.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#2

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 18. Sep 2020, 12:25
Es bestünde noch die Möglichkeit YY, MM, DD, HH, NN, SS alle in separate numerische Felder zu legen.
Das sollte jede DB hinbekommen, muss man dann aber auch zerlegen/zusammensetzen,
sollte aber auf jedenfall überall sicher sein.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 18. Sep 2020, 12:38
So wie ich Thomas verstehe, möchte er *ein* SQL-Skript erstellen, welches die DB unabhängig vom verwendeten Server anlegen kann.
Es natürlich einfacher als Skripte für jedes System pflegen zu müssen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 18. Sep 2020, 12:44
Es bestünde noch die Möglichkeit YY, MM, DD, HH, NN, SS alle in separate numerische Felder zu legen.
Das sollte jede DB hinbekommen, muss man dann aber auch zerlegen/zusammensetzen,
sollte aber auf jedenfall überall sicher sein.
Und dann auf alle schönen SQL-Funktionen verzichten die mit Datum/Uhrzeitangaben rechnen können.
Das wäre mir persönlich doch ein zu großer Nachteil.

Bei uns nutzen String und das ISO-Format.
Dann geht immerhin Sortierung "out of the box" korrekt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
696 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 18. Sep 2020, 15:13
wenn ich irgendwelche abstrusen strings bekommen würde und diese in gültige timestamps umwandeln sollte,
dann wäre mein weg mit firebird 3, diese beim Import durch eine selbstgeschriebene Stored Function zu schicken
so das der Insert in etwa so aussieht:

insert into tbl(id,ts) values(123, MeineFunktion('heute'));
insert into tbl(id,ts) values(124, MeineFunktion('jetzt'));
insert into tbl(id,ts) values(125, MeineFunktion('Neujahr 2020'));

etc

create or alter function MeineFunktion
(val varchar(80))
returns timestamp
as
declare variable res timestamp;
begin
if (val='heute') then res=current_date;
else
if (val='jetzt') then res=current_timestamp;
else
if (val containing 'Neujahr') then
begin
res=cast(replace(val,'Neujahr ','1.1.') as date);
end
else
res=val;
return res;
end

die üblichen formate kann firebird relativ gut, aber meine Erfahrung basiert zum Beispiel auf Import
von EMail Inhalten, wo der sender mal gerne schwachsinn einbaut, unter anderem kam da auch schon
utc+48 als Zeitzone oder 25:10 als Uhrzeit usw.

iIm falle einer exception kann man dann mit einer when any anweisung den ungültigen string
in eine extra protokoll tabelle packen und seine routine nach und nach verbessern.

ist aber vielleicht nicht das was du suchst, aber ein weg, das geschilderte Problem mit fb
zu lösen
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 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