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

КАК ДА ИЗТЕГЛЯМ ДАННИ МЕЖДУ 2 ДАТИ В ORACLE SQL DEVELOPER

Датата няма формат - тя се съхранява вътрешно в базата данни като 7-байта (представляващ година, месец, ден, час, минута и секунда) и чак когато потребителският интерфейс, който използвате (т.е. SQL/Plus, SQL Developer, Java и т.н.), не се опита да го покаже на вас, потребителя, и преобразува в нещо, което бихте намерили за смислено (обикновено низ), че датата има формат.

За да коригирате заявката си, трябва само да оградите низа с дата в единични кавички и да използвате YY за да съответства на двуцифрения формат на годината (в противен случай Oracle ще приеме, че 17 във формат YYYY е годината 0017 и векът няма да бъде такъв, какъвто очаквате ):

select sum(TOTAL_AMOUNT)
from   table a
where  trn_date between TO_DATE('01-APR-17', 'DD-MON-YY')
                    AND TO_DATE('31-MAR-17', 'DD-MON-YY'); 

Можете обаче също да използвате литерали за дата (и да пропуснете съвпадението с модела на формата на датата):

select sum(TOTAL_AMOUNT)
from   table a
where  trn_date between DATE '2017-04-01'
                    AND DATE '2017-05-31'; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. работа с json в oracle

  2. Потоци на Oracle Пример за репликация стъпка по стъпка

  3. Най-добрият начин за обработка на LOB в разпределени бази данни на Oracle

  4. LINQPad - Низ за свързване към моята Oracle DB

  5. най-добрият начин за проследяване на промените в данните в Oracle