Ich brauche eine SQL-Abfrage, die tun das folgende suchen würde:Ich brauche ein SQL-Skript, das zwischen den Zeitintervallen
select ..........
from ....
where ....
and arrival_time between systemtime and (systemtime + 7 hours)
Ich brauche eine SQL-Abfrage, die tun das folgende suchen würde:Ich brauche ein SQL-Skript, das zwischen den Zeitintervallen
select ..........
from ....
where ....
and arrival_time between systemtime and (systemtime + 7 hours)
Sie können Tochar Funktion und intervel Funktion dieses Ziel zu erreichen ... wie
SELECT ..... VON WHERE ... und to_char (Ankunftszeit, 'mm/tt/hh24: mi: ss') zwischen to_char (sysdate "mm/tt/hh24: mi: ss ') UND to_char (sysdate + Intervall' 7 'STUNDE,' mm/tt/jjjj hh24: mi: ss ').
Verwenden Sie keine Transformationsfunktion für eine Spalte. Es a) führt für jede Zeile b) verhindert die Verwendung von Indizes möglicherweise in der Spalte – coolgeek
-1 Transformieren eines DATE oder TIMESTAMP zu einem VARCHAR2 zum Vergleich ist eine schlechte Idee. –
Ich bin mir nicht einmal sicher, ob der BETWEEN-Operator korrekt mit DATEN arbeitet, die in eine Zeichendarstellung umgewandelt wurden. Und in diesem Fall ist es definitiv nicht notwendig to_char() zu verwenden, da alles bereits ein Datum ist –
arrival_time BETWEEN current_timestamp AND current_timestamp + INTERVAL '7' hour
Btw: die Syntax dafür finden Sie leicht im Handbuch –