EXTRACT (datetime) (Română)

Sintaxă

extract_datetime :: =

Descrierea ilustrației extract_datetime.gif

Scop

EXTRACT extrage și returnează valoarea un câmp datetime specificat dintr-o expresie de valoare datetime sau interval. Când extrageți un TIMEZONE_REGION sau TIMEZONE_ABBR (prescurtare), valoarea returnată este un șir care conține numele sau abrevierea corespunzătoare a fusului orar. Când extrageți oricare dintre celelalte valori, valoarea returnată se află în calendarul gregorian. Când se extrage dintr-un datetime cu o valoare de fus orar, valoarea returnată este în UTC. Pentru o listă a numelor de fus orar și abrevierile corespunzătoare, interogați vizualizarea dinamică a performanței V$TIMEZONE_NAMES.

Această funcție poate fi foarte utilă pentru manipularea valorilor câmpului datetime în tabele mari, așa cum se arată în primul exemplu de mai jos.

Notă:

Numele regiunilor fusului orar sunt necesare pentru funcția de vară. Numele regiunilor sunt stocate în două fișiere de fus orar. Fișierul implicit de fus orar este un fișier mic care conține doar cele mai frecvente fusuri orare pentru a maximiza performanța. Dacă fusul orar nu se află în fișierul implicit, atunci nu veți beneficia de asistență pentru economia de vară până când nu furnizați o cale către fișierul complet (mai mare) prin intermediul variabilei de mediu ORA_TZFILE.

Unele combinații ale câmpului datetime și expresia valorii datetime sau interval determină ambiguitate. În aceste cazuri, Oracle Database returnează UNKNOWN (consultați exemplele care urmează pentru informații suplimentare).

Câmpul pe care îl extrageți trebuie să fie un câmp din datetime_value_expr sau interval_value_expr. De exemplu, puteți extrage numai YEAR, MONTH și DAY dintr-un DATE valoare. La fel, puteți extrage TIMEZONE_HOUR și TIMEZONE_MINUTE numai din TIMESTAMP WITH TIME ZONE tip de date.

Vezi și:

  • Ghidul administratorului bazei de date Oracle pentru mai multe informații despre setarea variabilei de mediu ORA_TZFILE

  • Oracle Ghid de asistență pentru globalizarea bazei de date. Pentru o listă completă a numelor de regiuni ale fusului orar în ambele fișiere

  • „Datetime / Interval Arithmetic” pentru o descriere a datetime_value_expr și interval_value_expr

  • Oracle Database Reference pentru informații despre vizualizările dinamice ale performanței

Exemple

Următorul exemplu returnează din tabelul oe.orders numărul de comenzi plasate în fiecare lună:

Următorul exemplu returnează anul 1998.

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

Următorul exemplu s alege din tabelul eșantion hr.employees toți angajații care au fost angajați după 1998:

Următorul exemplu are ca rezultat ambiguitate, astfel încât Oracle returnează UNKNOWN:

Ambiguitatea apare deoarece offsetul numeric al fusului orar este furnizat în expresie, iar respectivul offset numeric poate fi mapat la mai multe regiuni de fus orar.

Leave a Reply

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *