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

ПО-МАЛКО ИЛИ РАВНО НА В Oracle SQL

В Oracle ДАТА е момент във времето. Винаги има времеви компонент с точност до секундата. todate('08-Jun-2010', 'dd-Mon-yyyy') е в Oracle същото като todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss') . Така че, ако изберете редове до тази дата, няма да получите нито един ред за този ден с времеви компонент, който не е равен на 00:00 .

Ако искате да изберете всички редове до и включително 08-JUN-2010 , предлагам да използвате:

< to_date('09-06-2010', 'dd-MM-yyyy')

или

<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')

Забележка - Коригирах вашия формат на датата:трябва да използвате MON ако искате да използвате съкратеното име на месеца. Предлагам да използвате MM вместо това, така че да не получавате грешка, когато някой промени настройките на клиента (NLS_DATE_LANGUAGE ). Също така предпочитайте използването на YYYY вместо YY .



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

  2. Нови дати за безплатни изпити за сертифициране в Oracle Cloud и Autonomous Database

  3. Опитвам се да намеря превозни средства, които са свободни между 2 променливи дати

  4. Как да получа тип данни на колона в Oracle с PL-SQL с ниски привилегии?

  5. Как да добавя последната секунда към датата?