I have an sql query in which I need to select the records from table where the time is between 3:00 PM yesterday to 3:00 PM today if today’s time is more than 3:00 PM.
If today’s time is less than that, like if today’s time is 1:00 PM. then then my query should take today’s time as 1:00 PM (which should return me records).
I need to get the time between 3:00pm yesterday to 3:00pm today if todays time is more than 3:00pm
if todays time is less than 3:00pm then get the 3:00pm yesterday to current time today
The best way of handling this is to use an IF statement:
Conditional WHERE clauses are non-sargable.
Previously:
If I understand correctly, you want to get records within the last day. If the current time is 3 PM or later, the time should be set to 3 PM. If earlier than 3 PM, take the current time…
Note:
dt - 1means that 24 hours will be subtracted from the Oracle DATE.Reference: