EXTRACT (datetime) (Polski)

Składnia

extract_datetime :: =

Opis ilustracji extract_datetime.gif

Cel

EXTRACT wyodrębnia i zwraca wartość określone pole daty i godziny z wyrażenia wartości daty i godziny lub przedziału czasu. Podczas wyodrębniania TIMEZONE_REGION lub TIMEZONE_ABBR (skrót) zwracana wartość jest ciągiem zawierającym odpowiednią nazwę strefy czasowej lub skrót. Podczas wyodrębniania innych wartości zwracana wartość znajduje się w kalendarzu gregoriańskim. Podczas wyodrębniania z daty i godziny z wartością strefy czasowej zwracana wartość jest w czasie UTC. Aby uzyskać listę nazw stref czasowych i odpowiadających im skrótów, przeszukaj V$TIMEZONE_NAMES dynamiczny widok wydajności.

Ta funkcja może być bardzo przydatna do manipulowania wartościami pól daty i godziny w bardzo duże tabele, jak pokazano w pierwszym przykładzie poniżej.

Uwaga:

Nazwy stref czasowych są wymagane przez funkcję czasu letniego. Nazwy regionów są przechowywane w dwóch plikach stref czasowych. Domyślny plik strefy czasowej to mały plik zawierający tylko najpopularniejsze strefy czasowe, aby zmaksymalizować wydajność. Jeśli Twoja strefa czasowa nie znajduje się w pliku domyślnym, nie będziesz mieć obsługi czasu letniego, dopóki nie podasz ścieżki do pełnego (większego) pliku za pomocą zmiennej środowiskowej ORA_TZFILE.

Niektóre kombinacje pola typu data-godzina i wyrażenie wartości typu data-godzina lub przedział powodują niejednoznaczność. W takich przypadkach Oracle Database zwraca UNKNOWN (dodatkowe informacje można znaleźć w poniższych przykładach).

Wyodrębniane pole musi być polem elementu datetime_value_expr lub interval_value_expr. Na przykład możesz wyodrębnić tylko YEAR, MONTH i DAY z DATE wartość. Podobnie możesz wyodrębnić TIMEZONE_HOUR i TIMEZONE_MINUTE tylko z TIMESTAMP WITH TIME ZONE typ danych.

Zobacz też:

  • Podręcznik administratora bazy danych Oracle Database, aby uzyskać więcej informacji na temat ustawiania ORA_TZFILE zmiennej środowiskowej

  • Oracle Podręcznik obsługi globalizacji baz danych, aby uzyskać pełną listę nazw stref czasowych w obu plikach

  • „Datetime / Interval Arithmetic”, aby uzyskać opis datetime_value_expr i interval_value_expr

  • Oracle Database Reference zawiera informacje o dynamicznych widokach wydajności

Przykłady

Poniższy przykład zwraca z tabeli oe.orders liczbę zamówień złożonych w każdym miesiącu:

Poniższy przykład zwraca rok 1998.

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

Poniższy przykład s wybiera z przykładowej tabeli hr.employees wszystkich pracowników zatrudnionych po 1998 r .:

Poniższy przykład powoduje niejednoznaczność, więc Oracle zwraca UNKNOWN:

Niejednoznaczność wynika z liczbowego przesunięcia strefy czasowej w wyrażeniu, a to przesunięcie liczbowe może być mapowane na więcej niż jeden region strefy czasowej.

Leave a Reply

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *