Roly
Roly

Reputation: 161

Query data between the same date

Is it possible to do something like this?

select * from table where Date BETWEEN '2019-05-29' AND '2019-05-29'

Upvotes: 1

Views: 855

Answers (3)

Genx505
Genx505

Reputation: 50

Yes you can, if you want to run it in a test window without manually changing the date within the code you can set it as a variable. Use trunc to get rid of time i.e there will be no 29-05-2019 23:59:00. If you want the same date within a time period remove the trunc and then you can set hours-minutes-seconds which makes your query more precise

SELECT t.*
FROM table t
WHERE t.date BETWEEN trunc(to_date(:datefrom, 'dd.mm.yyyy hh24:mi:ss')) AND
                     trunc(to_date(:dateto, 'dd.mm.yyyy hh24:mi:ss'))

Upvotes: 0

Gordon Linoff
Gordon Linoff

Reputation: 1271161

Yes, but the better approach is:

select t.*
from table t
where t.Date >= date('2019-05-29') AND 
      t.Date < date('2019-05-29') + interval 1 day

Why is this better? It doesn't have a function on the column name, so it can make use of an index on the date column.

Upvotes: 2

Lukasz Szozda
Lukasz Szozda

Reputation: 176284

Yes it is possible. If you have time part you could use DATE function to skip it:

SELECT * FROM table WHERE DATE(Date) BETWEEN '2019-05-29' AND '2019-05-29'
-- it may degrade performance, condition is not SARGable

Upvotes: 2

Related Questions