EXTRACT (datetime) (Norsk)

Syntaks

extract_datetime :: =

Beskrivelse av illustrasjonen extract_datetime.gif

Formål

EXTRACT trekker ut og returnerer verdien av et spesifisert datetime-felt fra et datetime eller intervallverdiuttrykk. Når du trekker ut en TIMEZONE_REGION eller TIMEZONE_ABBR (forkortelse), er verdien som returneres en streng som inneholder riktig tidssonenavn eller forkortelse. Når du trekker ut noen av de andre verdiene, er verdien som returneres i den gregorianske kalenderen. Når du trekker ut fra en datetid med en tidssoneverdi, er verdien som returneres i UTC. Hvis du vil ha en liste over tidssonenavn og tilhørende forkortelser, kan du spørre V$TIMEZONE_NAMES dynamisk ytelsesvisning.

Denne funksjonen kan være veldig nyttig for å manipulere feltverdier for datetime i svært store tabeller, som vist i det første eksemplet nedenfor.

Merk:

Regionssonnavn er nødvendig for sommertid. Regionnavnene lagres i to tidssonefiler. Standard tidssonefil er en liten fil som bare inneholder de vanligste tidssonene for å maksimere ytelsen. Hvis tidssonen din ikke er i standardfilen, har du ikke støtte for sommertid før du gir en sti til den komplette (større) filen ved hjelp av ORA_TZFILE miljøvariabelen.

Noen kombinasjoner av datetime-felt og uttrykk for datetime eller intervallverdi resulterer i tvetydighet. I disse tilfellene returnerer Oracle Database UNKNOWN (se eksemplene som følger for ytterligere informasjon).

Feltet du trekker ut må være et felt i datetime_value_expr eller interval_value_expr. Du kan for eksempel bare trekke ut YEAR, MONTH og DAY fra en DATE verdi. På samme måte kan du bare trekke TIMEZONE_HOUR og TIMEZONE_MINUTE fra TIMESTAMP WITH TIME ZONE datatype.

Se også:

  • Oracle Database Administrator’s Guide for more information about setting the ORA_TZFILE environment variable

  • Oracle Støtteveiledning for databaseglobalisering. For en fullstendig oversikt over tidssone-regionnavn i begge filer

  • «Datetime / Interval Arithmetic» for en beskrivelse av datetime_value_expr og interval_value_expr

  • Oracle Database Reference for informasjon om dynamiske ytelsesvisninger

Eksempler

Følgende eksempel returnerer fra oe.orders -tabellen antall ordrer som er plassert i hver måned:

Følgende eksempel returnerer året 1998.

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

Følgende eksempel er velger fra prøvetabellen hr.employees alle ansatte som ble ansatt etter 1998:

Eksemplet nedenfor resulterer i tvetydighet, så Oracle returnerer UNKNOWN:

Uklarheten oppstår fordi den tidssone numeriske forskyvningen er gitt i uttrykket, og den numeriske forskyvningen kan tilordnes til mer enn en tidssoneregion.

Leave a Reply

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *