OTE (päivämäärä)

Syntaksi

extract_datetime :: =

Kuvan extract_datetime.gif kuvaus

Tarkoitus

EXTRACT poimii ja palauttaa arvon määritetty päivämäärä-kenttä päivämäärä- tai väliarvolausekkeesta. Kun purat TIMEZONE_REGION tai TIMEZONE_ABBR (lyhenne), palautettu arvo on merkkijono, joka sisältää sopivan aikavyöhykkeen nimen tai lyhenteen. Kun purat minkä tahansa muun arvon, palautettu arvo on gregoriaanisessa kalenterissa. Kun poimitaan päivämääräajasta aikavyöhykearvolla, palautettu arvo on UTC. Jos haluat luettelon aikavyöhykenimistä ja niitä vastaavista lyhenteistä, kysele dynaamisen suorituskyvyn näkymää V$TIMEZONE_NAMES.

Tämä toiminto voi olla hyödyllinen päivämääräaika-kentän arvojen käsittelyssä suuret taulukot, kuten alla olevassa ensimmäisessä esimerkissä on esitetty.

Huomaa:

Aikavyöhykealueiden nimiä tarvitaan kesäaikatoimintoon. Alueiden nimet tallennetaan kahteen aikavyöhyketiedostoon. Oletusvyöhyketiedosto on pieni tiedosto, joka sisältää vain yleisimmät aikavyöhykkeet suorituskyvyn maksimoimiseksi. Jos aikavyöhykkeesi ei ole oletustiedostossa, sinulla ei ole kesäajan tukea ennen kuin annat polun täydelliseen (suurempaan) tiedostoon ympäristömuuttujan ORA_TZFILE avulla.

Jotkut päivämääräkentän ja päivämäärä- tai väliarvolausekkeiden yhdistelmät johtavat epäselvyyteen. Näissä tapauksissa Oracle Database palauttaa UNKNOWN (lisätietoja on seuraavissa esimerkeissä).

Purettavan kentän on oltava kentän datetime_value_expr tai interval_value_expr. Voit esimerkiksi purkaa vain YEAR, MONTH ja DAY DATE -arvo. Samoin voit purkaa TIMEZONE_HOUR ja TIMEZONE_MINUTE vain TIMESTAMP WITH TIME ZONE tietotyyppi.

Katso myös:

  • Oracle Database Administratorin opas lisätietoja ympäristömuuttujan ORA_TZFILE asettamisesta

  • Oracle Tietokannan globalisaation tukiopas. Täydellinen luettelo aikavyöhykealueiden nimistä molemmissa tiedostoissa

  • ”Datetime / Interval Arithmetic” kuvaukselle datetime_value_expr ja interval_value_expr

  • Oracle-tietokantaviite lisätietoja dynaamisista suorituskyvyn näkymistä

Esimerkkejä

Seuraava esimerkki palauttaa oe.orders -taulukosta kuukausittaisten tilausten määrän:

Seuraava esimerkki palauttaa vuoden 1998.

SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998

Seuraava esimerkki s valitsee näytetaulukosta hr.employees kaikki työntekijät, jotka palkattiin vuoden 1998 jälkeen:

Seuraava esimerkki johtaa epäselvyyteen, joten Oracle palauttaa UNKNOWN:

Epäselvyys johtuu siitä, että lausekkeessa on aikavyöhykkeen numeerinen siirtymä ja että numeerinen siirtymä voi kartoittaa useamman kuin yhden aikavyöhykealueen.

Leave a Reply

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *