sql >> Database >  >> RDS >> Oracle

HOE GEGEVENS OP TE HALEN TUSSEN 2 DATA IN ORACLE SQL DEVELOPER

Een datum heeft geen formaat - het wordt intern opgeslagen in de database als 7-bytes (wat staat voor jaar, maand, dag, uur, minuut en seconde) en het is pas als de gebruikersinterface die u gebruikt (d.w.z. SQL/Plus, SQL Developer, Java, enz.) deze aan u, de gebruiker, probeert weer te geven en converteert het in iets dat je zinvol zou vinden (meestal een string) dat de datum een ​​formaat heeft.

Om uw zoekopdracht op te lossen, hoeft u alleen maar de datumreeks tussen enkele aanhalingstekens te plaatsen en YY . te gebruiken overeenkomen met het 2-cijferige jaarformaat (anders gaat Oracle ervan uit dat 17 in het formaat YYYY is het jaar 0017 en de eeuw zal niet zijn zoals je verwacht ):

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'); 

U kunt echter ook letterlijke datums gebruiken (en overslaan om overeen te komen met het datumformaatmodel):

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


  1. Is Percona achterwaarts compatibel met MySQL? De Ruby in Rails-kast

  2. De bovenste functie van Postgres op een Turks teken geeft het verwachte resultaat niet terug

  3. MySQL-volgorde op tekenreeks met cijfers

  4. MySQL toevoegtekenreeks