UDTRÆK (datetime)

Syntaks

extract_datetime :: =

Beskrivelse af illustrationen extract_datetime.gif

Formål

EXTRACT udtrækker og returnerer værdien af et specificeret datetime-felt fra et datetime- eller intervalværdiudtryk. Når du udtrækker en TIMEZONE_REGION eller TIMEZONE_ABBR (forkortelse), er den returnerede værdi en streng, der indeholder det relevante tidszone navn eller forkortelse. Når du udvinder en af de andre værdier, er den returnerede værdi i den gregorianske kalender. Når der ekstraheres fra en datetid med en tidszoneværdi, er den returnerede værdi i UTC. For en liste over tidszonenavne og deres tilsvarende forkortelser, spørg V$TIMEZONE_NAMES dynamisk visning af ydeevne.

Denne funktion kan være meget nyttig til at manipulere datetime-feltværdier i store tabeller, som vist i det første eksempel nedenfor.

Bemærk:

Regionzonens navne er nødvendige for dagslysbesparelsesfunktionen. Regionens navne er gemt i to tidszonefiler. Standard tidszonefilen er en lille fil, der kun indeholder de mest almindelige tidszoner for at maksimere ydeevnen. Hvis din tidszone ikke er i standardfilen, har du ikke understøttelse af sommertid, før du giver en sti til den komplette (større) fil ved hjælp af ORA_TZFILE miljøvariablen.

Nogle kombinationer af datetime-felt og udtryk for datetime eller intervalværdi resulterer i tvetydighed. I disse tilfælde returnerer Oracle Database UNKNOWN (se eksemplerne, der følger for yderligere information).

Det felt, du udpakker, skal være et felt i datetime_value_expr eller interval_value_expr. For eksempel kan du kun udtrække YEAR, MONTH og DAY fra en DATE værdi. På samme måde kan du kun udtrække TIMEZONE_HOUR og TIMEZONE_MINUTE fra TIMESTAMP WITH TIME ZONE datatype.

Se også:

  • Oracle Database Administrator’s Guide for mere information om indstilling af ORA_TZFILE miljøvariabel

  • Oracle Supportvejledning til databaseglobalisering. For en komplet oversigt over tidszoneregionsnavne i begge filer

  • “Datetime / Interval Arithmetic” for en beskrivelse af datetime_value_expr og interval_value_expr

  • Oracle Database Reference for information om dynamiske præstationsvisninger

Eksempler

Følgende eksempel returnerer fra tabellen oe.orders antallet af ordrer, der er afgivet 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 vælger fra eksempeltabellen hr.employees alle medarbejdere, der blev ansat efter 1998:

Følgende eksempel resulterer i tvetydighed, så Oracle returnerer UNKNOWN:

Tvetydigheden opstår, fordi den tidszone-numeriske forskydning er angivet i udtrykket, og den numeriske forskydning kan kortlægges til mere end en tidszone-region.

Leave a Reply

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *