VÝBĚR (datetime)

Syntaxe

extract_datetime :: =

Popis ilustrace extract_datetime.gif

Účel

EXTRACT extrahuje a vrací hodnotu zadané pole datetime z výrazu hodnoty datetime nebo intervalu. Když extrahujete TIMEZONE_REGION nebo TIMEZONE_ABBR (zkratka), vrácená hodnota je řetězec obsahující název nebo zkratku příslušného časového pásma. Když extrahujete kteroukoli z ostatních hodnot, vrácená hodnota je v gregoriánském kalendáři. Při extrahování z datetime s hodnotou časového pásma je vrácená hodnota v UTC. Seznam názvů časových pásem a jejich odpovídajících zkratek získáte dotazem na V$TIMEZONE_NAMES zobrazení dynamického výkonu.

Tato funkce může být velmi užitečná pro manipulaci s hodnotami pole datetime ve velmi velké tabulky, jak je znázorněno v prvním příkladu níže.

Poznámka:

Funkce letního času vyžaduje názvy regionů časové zóny. Názvy oblastí jsou uloženy ve dvou souborech časových pásem. Výchozí soubor časového pásma je malý soubor obsahující pouze nejběžnější časová pásma pro maximalizaci výkonu. Pokud vaše časové pásmo není ve výchozím souboru, nebudete mít podporu letního času, dokud nezadáte cestu k úplnému (většímu) souboru prostřednictvím proměnné prostředí ORA_TZFILE.

Některé kombinace pole datetime a výrazu data a času nebo intervalu vedou k nejednoznačnosti. V těchto případech Oracle Database vrátí UNKNOWN (další informace naleznete v následujících příkladech).

Pole, které extrahujete, musí být polem datetime_value_expr nebo interval_value_expr. Můžete například extrahovat pouze YEAR, MONTH a DAY z DATE hodnota. Podobně můžete TIMEZONE_HOUR a TIMEZONE_MINUTE extrahovat pouze z TIMESTAMP WITH TIME ZONE datový typ.

Viz také:

  • Příručka správce databáze Oracle, kde najdete další informace o nastavení proměnné prostředí ORA_TZFILE

  • Oracle Průvodce podporou globalizace databáze. Kompletní seznam názvů oblastí časových pásem v obou souborech.

  • „Datetime / Interval Arithmetic“ pro popis datetime_value_expr a interval_value_expr

  • Oracle Database Reference pro informace o zobrazeních dynamického výkonu

Příklady

Následující příklad vrací z oe.orders tabulky počet objednávek zadaných v každém měsíci:

Následující příklad vrací rok 1998.

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

Následující příklad s volí ze vzorové tabulky hr.employees všechny zaměstnance, kteří byli najati po roce 1998:

Následující příklad vede k nejednoznačnosti, takže Oracle vrátí UNKNOWN:

Nejednoznačnost vzniká, protože ve výrazu je uveden číselný posun časového pásma a tento numerický posun může být mapován na více než jednu oblast časového pásma.

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *