Autor Beitrag
tortom1000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Do 23.05.19 15:28 
Hallo,
ich habe eine Firebird-Datenbank im Einsatz, bei der in einem Tabellenfeld namens Datum ein Datum mit Nullzeit steht, also z.B. 01.01.2019 00:00:00.
Nun sollen per SQL die Datumswerte ermittelt werden, die dem aktuellen Tagesdatum entsprechen.


Folgende SQL-Abfrage bringt am 01.01.2019 das richtige Ergebnis.
Select * From TABELLE Where DATUM='01.01.2019 00:00:00'

Ich möchte das Ganze nur mit SQL lösen.
Select * From TABELLE Where DATUM=CURRENT_TIMESTAMP -> Es werden keine Daten gefunden, die der Anfrage entsprechen.

Das liegt wohl daran, das CURRENT_TIMESTAMP im Zeitanteil richtigerweise keine Nullzeit enthält, sondern die Zeit zum Zeitpunkt der Abfrage.

Weiß vielleicht jemand, wie ich aus CURRENT_TIMESTAMP das Tagesdatum mit Nullzeit bekommen kann oder hat jeman eine andere Lösung?
tortom1000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Do 23.05.19 15:38 
Habe die Lösung selbst gefunden:

Select * From TABELLE Where DATUM=cast('TODAY' as date)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4431
Erhaltene Danke: 906


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 23.05.19 18:14 
Du kannst auch CURRENT_DATE verwenden. Taucht nicht wirklich in der Doku auf gibt es aber.