sql >> Database >  >> RDS >> Oracle

verschil. tussen datums - SQL plus

De titel van de vraag bevat "SQL plus", wat voor mij Oracle impliceert.

Oracle heeft geen DATEDIFF-functie. De eenvoudigste methode om met Oracle het aantal dagen tussen 2 datums te bepalen, is door de ene datum van de andere af te trekken.

Select item, datebought, datesold, datesold-datebought as days from auctions;

Oracle slaat zowel datum- als tijdinformatie op in een datumveld. Het is gebruikelijk om datums afgekapt tot middernacht op te slaan in datumvelden in Oracle als u niet om de tijd geeft.

Als uw datums al zijn afgekapt tot middernacht, is de berekende waarde een geheel getal.

Maar als uw opgeslagen datums tijdinformatie bevatten, wilt u misschien de waarde afkappen om een ​​integrale waarde te krijgen. Ik vermoed dat je elke datum vóór de aftrekking zou willen afkappen, zodat als je op één dag koopt, de volgende dag op elk moment als 1 dag zou tellen. Oracle kapt datums af tot middernacht.

select item, datebought, datesold, trunc(datesold)-trunc(datebought) as days from auctions;

Ik ben het met WarrenT eens dat je tabel niet de kolom gedenormaliseerde dagen mag hebben.



  1. kopieer een kolom van de ene tabel naar de andere

  2. Verbinding maken met MySql met behulp van Java - SSL-verbinding

  3. verwijderen met waar en of

  4. PHP schrijft 800 records naar bestand (.txt) vanuit de database