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
jainterval_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.