Home > Blockchain >  how to select all entries having date 25-11-20 in oracle 11g?
how to select all entries having date 25-11-20 in oracle 11g?

Time:04-23

sql table

here in the table above named carpooling contains a column name start_on which has date time as timestamp i have to write a query to select all the rows having date as 25-11-20 using to_char and to_date.

CodePudding user response:

You write a timestamp literal like this:

timestamp '2020-11-25 00:00:00'

so the full filtering condition will be

where start_on >= timestamp '2020-11-25 00:00:00'
and   start_on <  timestamp '2020-11-26 00:00:00'

Note that dates and timestamps are different in Oracle, and dates include times down to the second (this is for historical reasons - originally there was only the date type, and timestamp was added much later).

CodePudding user response:

You can simply use to_date, but it's recommended to remove the time when comparing the dates. Otherwise, rows having the same date, but a different time will not be selected. Removing the time can be done using TRUNC. So you can do something like this:

SELECT * FROM carpooling
WHERE TRUNC(start_on) = TO_DATE('2020-11-25','yyyy.mm.dd');

If you don't want to check the 25th of November 2020, but another data, change the date to match your goal.

  • Related