Datumswert SQL konform konvertieren

Sie möchten nach einem bestimmten Datumseintrag suchen. Ausgangsbasis ist ein Datenbankfeld vom Typ Date. NexusDB z.B. erwartet die Abfrage dann wie folgt

select * from mytable where Datumsfeld=Date’Jahr-Monat-Tag‘

Nun liegt der Datumswert aber z.B. wie folgt in der Tabelle mit einem Feld vom Typ Datum vor:

11.08.2005 und damit kann Nexus leider nichts anfangen.

Folgende Funktion überführt nun diesen Datumsausdruck in den von NexusDB erwarteten Format:

function ConvertDateToSqlDate(datum:TDate):String;
var monat,tag:String;
begin
monat:=IntToStr(MonthOf(datum));
IF length(monat)=1 then monat:=’0’+monat;
tag:=IntToStr(DayOf(datum));
IF length(tag)=1 then tag:=’0’+tag;
ConvertDateToSqlDate:=IntToStr(YEarOf(datum))+‘-‚+monat+‘-‚+tag;
end;

Aus 11.08.2005 wird dann 2005-08-11

Der ganze Ausdruck heisst dann z.B. in Delphi

’select * from mytable where datumsfeld=date’+QuotedStr(ConvertDateToSqlDate(mytable.datefield));

was dann wie folgt im Klartext aussieht:

select * from mytable where datumsfeld=date’2007-08-11′

Bei anderen Datenbanken kann dies ähnlich oder auch anders sein, aber vielleicht hilft Ihnen die obige Vorgehensweise auch in ähnlichen Fällen mit ein klein wenig Anpassung.

Noch einfacher geht das Ganze übrigens wie folgt :

function ConvertDateToSqlDate(datum:TDate):String;
begin
Re
sult := SysUtils.FormatDateTime(‚yyyy“-„mm“-„dd‘, Datum);
end

Werbung & Infos:

Aktuelle Top Aktionen bei Acer, HP, Lenovo, Microsoft, Bitdefender & Co

Angebote bei Acer

» Acer Spezialangebote: Rabatt und Extras auf viele Acer Notebooks, Convertibles, Gaming Notebooks und PC, Monitore und mehr


Angebote bei HP

HP Aktion: 10% Rabatt auf viele Notebooks & PCs mit Full-HD und 4K DisplaysTolle HP Aktion: 10% Rabatt auf sehr viele Notebooks, PCs und Monitore mit Full-HD und 4K Displays – große Auswahl bis 04. März 2020

» HP Wochenend Angebote: Bei den  HP Wochenend Angeboten hier gibt es häufig am Wochenende viele preisreduzierte Notebooks

Angebote bei Lenovo

» Lenovo Top Wochenangebote: Heiße ThinkPad und IdeaPad Wochenangebote mit großer Auswahl und dicken Rabatten


Weitere interessante Angebote

» Top bei Otto: Sehr gute HP Notebook Angebote, teils mit Extras wie 4 Jahre Garantie und mehr

» Mehr Aktionen in der Übersicht: Aktuelle HP Angebote und mehr auf einem Blick


Aktuelle Bitdefender Aktionen:

» Bitdefender Angebote: Bitdefender Antivirus & Bitdefender Antivirus & Internet Security mit bis zu 44% Rabatt

» Bitdefender +1 Jahr dazu-Aktion

» Top für neue PCs! Bitdefender AntiVirus Plus Lebenslang Edition: 5 Jahre Schutz für nur für nur 89,95

Weitere aktuelle Bitdefender Angebote
» Alle Bitdefender Angebote auf einem Blick



Verwandte Themen: