Oracle
 sql >> база данни >  >> RDS >> Oracle

Сравнение на дати на Oracle в клауза where

Не съвсем, DATE data-type няма формат; той се съхранява вътрешно в таблици като 7-байта (годината е 2 байта, а месецът, денят, часът, минутата и секундата са по 1 байт). Потребителският интерфейс, който използвате (т.е. SQL/PLUS, SQL Developer, Toad и др.), ще обработва форматирането на DATE от неговия двоичен формат до четим от човека формат. В SQL/Plus (или SQL Developer) този формат е базиран на NLS_DATE_FORMAT параметър на сесията .

Ако DATE се въвежда, като се използват само ден, месец и година, тогава компонентът на времето (вероятно) ще бъде зададен на 00:00:00 (полунощ).

Ако приемем, че часовият компонент за вашата колона на DOJ винаги е полунощ, тогава:

SELECT COUNT(*)
FROM   students
WHERE  doj = TO_DATE( your_param, 'dd/mm/yyyy' )

Ако не винаги е полунощ, тогава:

SELECT COUNT(*)
FROM   students
WHERE  TRUNC( doj ) = TO_DATE( your_param, 'dd/mm/yyyy' )

или:

SELECT COUNT(*)
FROM   students
WHERE  doj >= TO_DATE( your_param, 'dd/mm/yyyy' )
AND    doj <  TO_DATE( your_param, 'dd/mm/yyyy' ) + INTERVAL '1' DAY


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Истинската дължина на низ, както се вижда от Oracle

  2. Самоприсъединете се към Oracle с примери

  3. добавяне на месеци към дата SQL

  4. Може ли Oracle SQL*Loader да обработва XML?

  5. Много бавна производителност в Django с отдалечен сървър на Oracle