Intervalli-ilmaukset

elo 31, 2021
admin

Intervalli-ilmaus antaa arvon INTERVAL YEAR TO MONTH tai INTERVAL DAY TO SECOND.

intervalli_ilmaus::=

Kuvaus intervalli_ilmaus.gif:stä seuraa

Kuvaus kuviosta intervalli_ilmaus.gif

Lausekkeet expr1 ja expr2 voivat olla mitä tahansa lausekkeita, jotka evaluoituvat tietotyypin DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE tai TIMESTAMP WITH LOCAL TIME ZONE mukaisiin arvoihin.

Datatyyppejä ja aikavälejä voidaan yhdistellä taulukossa 2-5 määriteltyjen sääntöjen mukaisesti. Kuusi intervalliarvoja tuottavaa yhdistelmää ovat kelvollisia intervalli-lausekkeessa.

Kumpikin leading_field_precision ja fractional_second_precision voivat olla mikä tahansa kokonaisluku välillä 0-9. Jos jätät leading_field_precision:n pois joko DAY:n tai YEAR:n kohdalla, Oracle Database käyttää oletusarvoa 2. Jos jätät fractional_second_precision:n pois toisena, tietokanta käyttää oletusarvoa 6. Jos kyselyn palauttama arvo sisältää enemmän numeroita kuin oletustarkkuus, Oracle Database palauttaa virheen. Siksi on hyvä käytäntö määrittää tarkkuus, jonka tiedät olevan vähintään yhtä suuri kuin mikä tahansa kyselyn palauttama arvo.

Esimerkiksi seuraava lauseke vähentää esimerkkitaulukon orders order_date-sarakkeen order_date arvon (päivämäärän arvo) järjestelmän aikaleimasta (toisesta päivämäärän arvosta), jolloin saadaan intervalliarvon lauseke. Ei tiedetä, kuinka monta päivää sitten vanhin tilaus tehtiin, joten DAY-lastauskentän tarkkuudelle määritetään enimmäisarvo 9:

SELECT (SYSTIMESTAMP - order_date) DAY(9) TO SECOND FROM orders WHERE order_id = 2458;

.

Vastaa

Sähköpostiosoitettasi ei julkaista.