AGB  ·  Datenschutz  ·  Impressum  







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

Welches DateTime Format schluckt jede Datenbank?

Ein Thema von t2000 · begonnen am 17. Sep 2020 · letzter Beitrag vom 20. Sep 2020
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
480 Beiträge
 
FreePascal / Lazarus
 
#21

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 18. Sep 2020, 16: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
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Alt 19. Sep 2020, 11:59     Erstellt von deckrdshaw
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
706 Beiträge
 
Delphi 2009 Professional
 
#22

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 19. Sep 2020, 20:33
...Geht dashier bei allen Datenbanken? W3Schools - SQL Working With Dates...
Ein Datum mit Uhrzeit im ISO-Format sollten eigentlich viele Datenbanken schlucken können (z.B. 2020-09-17 16:24:33).
Das Beispiel geht mit MSSQL nicht, denn ein Jahr hat keine 17 Monate. MSSQL akzeptiert das Beispiel ohne Striche als gültiges Datum, MySQL aber nicht. Was bei beiden geht, ist '2020-09-17T16:24:33'.

Bevor das jemand fragt: CURRENT_TIMESTAMP ist die einzige von MySQL und MSSQL akzeptierte Schreibweise für Jetzt.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
generic

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

AW: Welches DateTime Format schluckt jede Datenbank?

  Alt 20. Sep 2020, 01:20

Ein Datum mit Uhrzeit im ISO-Format sollten eigentlich viele Datenbanken schlucken können (z.B. 2020-09-17 16:24:33).
Das Beispiel geht mit MSSQL nicht, denn ein Jahr hat keine 17 Monate. MSSQL akzeptiert das Beispiel ohne Striche als gültiges Datum, MySQL aber nicht. Was bei beiden geht, ist '2020-09-17T16:24:33'.

Bevor das jemand fragt: CURRENT_TIMESTAMP ist die einzige von MySQL und MSSQL akzeptierte Schreibweise für Jetzt.
Also als String angegeben greifen die Ländereinstellungen bzw. die set FMT Einstellung bei dem MSSQL.
Daher gibt das als ODBC String an, wie ich oben bereits geschrieben hatte.

Code:
{ts'2020-09-17 16:24:33'}
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf