Also wie das intern auseinander gehalten wird von Postgres weiß ich leider nicht, aber Fakt ist, es geht! Wenn in der Tabelle ein Zeitraum abgespeichert wird, der von 18 - 24 Uhr geht, dann steht auch 24 Uhr in der Tabelle! Wenn Postgres daraus 0 Uhr machen würde, dann wäre das beispielsweise für meine genannte Abfrage fatal:
Code:
select cast('19:00' as time) between cast('18:00' as time) and cast('24:00' as time)
liefert bei Postgres nämlich "True" zurück...
Code:
select cast('19:00' as time) between cast('18:00' as time) and cast('00:00' as time)
logischerweise "False", da der Zeitraum von 0 - 18 Uhr betrachtet wird.
StrToTime bringt mir da leider überhaupt nichts, weil die Funktion sicherlich denselben EConvertError erzeugen dürfte, sollte man ihr "24:00" übergeben.