Ich habe eine kleines Problem mit einer SQL Abfrage. In meiner Datenbank stehen Datum und Uhrzeit getrennt von einander in jeweils eigenen Spalten. Datum ist als Date und Uhrzeit als Time in der DB deklariert.
Was du da als Uhrzeit-Typ bezeichnest, ist eigentlich keine Uhrzeit, sondern eine Zeitdauer (wie in "Die Maschine läuft seit 56:28:13 (56 Stunden, 28 Minuten und 13 Sekunden). Das ist also der falsche Datentyp, auch wenn man sicherlich irgendwo argumentieren kann, 12:00:00 wäre halt "zwölf Stunden in den Tag hinein".
Die Abfrage, über die du dir den Kopf zerbrichst, könnte ganz einfach so aussehen:
SELECT * FROM Datenbank WHERE tb_datum >= NOW()
... würdest du deine Daten korrekt ablegen, also in einer einzelnen Spalte vom Typ Datetime.
Überlege dir, warum das nicht so sein soll. Du wirst ja sicher einen Grund für die zwei Spalten gehabt haben. Wäge dann ab, ob du diesen zusätzlichen Aufwand weiterhin betreiben willst.
Abfragen nach "suche alle Termine um 12 Uhr" kannst du auch mit hour() auf einer Datetime-Spalte erledigen.
Termine ohne Datum, also "jeden Tag um 12 Uhr", könntest du wahlweise am Datum 0.0.0000 eintragen oder dann tatsächlich mit einer separaten Time-Spalte.