| Drukuj Otwórz Pomoc bezpośrednią w wersji PDF

#### Funkcje kalendarzowe data/godzina Funkcje kalendarzowe data/godzina wykonują operacje na danych typu data, godzina oraz data i godzina. (Typ "data i godzina" jest też nazywany "znacznikiem czasu"; stanowi kombinację daty i godziny.) ### Current_Date Zwraca bieżącą datę. Data jest określana przez komputer. Wartość nie zawiera składnika godzin. Składnia: CURRENT_DATE ### ### Current_Time Zwraca bieżącą godzinę. Godzina jest określana przez komputer. Wartość nie zawiera składnika daty. Uwaga: Za pomocą tej funkcji jest pobierana godzina bieżąca w momencie uruchomienia raportu. Korzystanie z tej funkcji w analitycznym obszarze zainteresowań uniemożliwia zapisywanie raportu w pamięci podręcznej, co powoduje zmniejszenie wydajności. Składnia: CURRENT_TIME (n) gdzie:
n | Dowolna liczba całkowita reprezentująca liczbę miejsc dziesiętnych wyświetlanych dla sekund ułamkowych. Argument ten jest opcjonalny; jeśli nie zostanie podany, funkcja będzie stosowała precyzję domyślną.
### Current_TimeStamp Zwraca bieżącą datę i godzinę (znacznik czasu). Data i godzina są określane przez komputer. Uwaga: Za pomocą tej funkcji jest pobierana godzina bieżąca w momencie uruchomienia raportu. Korzystanie z tej funkcji w analitycznym obszarze zainteresowań uniemożliwia zapisywanie raportu w pamięci podręcznej, co powoduje zmniejszenie wydajności. Składnia: CURRENT_TIMESTAMP (n) gdzie:
n | Dowolna liczba całkowita reprezentująca liczbę miejsc dziesiętnych wyświetlanych dla sekund ułamkowych. Argument ten jest opcjonalny; jeśli nie zostanie podany, funkcja będzie stosowała precyzję domyślną.
### Day_Of_Quarter Zwraca liczbę (od 1 do 92) odpowiadającą dniowi kwartału, w którym przypada podana data. Składnia: DAY_OF_QUARTER (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### DayName Zwraca nazwę (po angielsku) dnia tygodnia podanej daty. Składnia: DAYNAME (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### DayOfMonth Zwraca liczbę odpowiadającą dniowi miesiąca podanej daty. Składnia: DAYOFMONTH (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### DayOfWeek Zwraca liczbę (od 1 do 7) odpowiadającą dniowi tygodnia podanej daty. Liczba 1 odpowiada niedzieli, a liczba 7 — sobocie. Składnia: DAYOFWEEK (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### DayOfYear Zwraca liczbę (od 1 do 366) odpowiadającą dniowi roku podanej daty. Składnia: DAYOFYEAR (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### Hour Zwraca liczbę (od 0 do 23) odpowiadającą godzinie podanego czasu. Na przykład 0 odpowiada północy, a 23 — godzinie 11 w nocy. Składnia: HOUR (wyrażenie_godziny) gdzie:
wyrażenie_godziny | Dowolne wyrażenie, którego wynikiem jest godzina.
### Minute Zwraca liczbę (od 0 do 59) odpowiadającą minucie podanej godziny. Składnia: MINUTE (wyrażenie_czasu) gdzie:
wyrażenie_godziny | Dowolne wyrażenie, którego wynikiem jest godzina.
### Miesiąc Zwraca liczbę (od 1 do 12) odpowiadającą miesiącowi podanej daty. Składnia: MONTH (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### Month_Of_Quarter Zwraca liczbę (od 1 do 3) odpowiadającą miesiącowi kwartału podanej daty. Składnia: MONTH_OF_QUARTER (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### MonthName Zwraca nazwę (po angielsku) miesiąca podanej daty. Składnia: MONTHNAME (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### Now Zwraca bieżącą datę i godzinę (znacznik czasu). Funkcja NOW jest odpowiednikiem funkcji CURRENT_TIMESTAMP. Uwaga: Za pomocą tej funkcji jest pobierana godzina bieżąca w momencie uruchomienia raportu. Korzystanie z tej funkcji w analitycznym obszarze zainteresowań uniemożliwia zapisywanie raportu w pamięci podręcznej, co powoduje zmniejszenie wydajności. Składnia: NOW () ### ### Quarter_Of_Year Zwraca liczbę (od 1 do 4) odpowiadającą kwartałowi roku podanej daty. Składnia: QUARTER_OF_YEAR (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### Second Zwraca liczbę (od 0 do 59) odpowiadającą sekundzie podanej godziny. Składnia: SECOND (wyrażenie_godziny) gdzie:
wyrażenie_godziny | Dowolne wyrażenie, którego wynikiem jest godzina.
### TimestampAdd Funkcja TimestampAdd dodaje określoną liczbę przedziałów czasu do podanej daty i godziny (znacznika czasu). Zwracana jest jedna data i godzina. Składnia: TimestampAdd (przedział_czasu, wyrażenie_całkowitoliczbowe, wyrażenie_znacznika_czasu) gdzie:
przedział_czasu | Określony przedział czasu. Dozwolone wartości to: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
wyrażenie_całkowitoliczbowe | Dowolne wyrażenie dające w wyniku liczbę całkowitą. Określa liczbę dodawanych przedziałów czasu.
wyrażenie_znacznika_czasu | Znacznik czasu (data i godzina) używany w obliczeniu.
Jeśli do funkcji zostanie przekazany argument wyrażenie_całkowitoliczbowe o wartości Null lub argument wyrażenie_znacznika_czasu o wartości Null, to funkcja zwróci wartość Null. W najprostszej sytuacji funkcja ta dodaje podaną wartość całkowitoliczbową do odpowiedniego składnika znacznika czasu, opierając się przy tym na podanym przedziale czasu. Dodanie tygodnia powoduje dodanie siedmiu dni, a dodanie kwartału — trzech miesięcy. Ujemna wartość całkowitoliczbowa oznacza odejmowanie (cofanie się w czasie). Przekroczenie zakresu danego składnika (np. 60 sekund, 24 godzin, 12 miesięcy itd.) wymaga dodania odpowiedniej wartości do następnego składnika. Na przykład w przypadku dodawania przedziałów czasu do składnika "dzień" znacznika czasu funkcja bierze pod uwagę przekroczenie zakresu i uwzględnia liczbę dni w danym miesiącu (dotyczy to także lat przestępnych, gdy luty ma 29 dni). W przypadku dodawania przedziałów czasu do składnika "miesiąc" znacznika czasu funkcja sprawdza, czy uzyskany znacznik czasu (data i godzina) ma odpowiednią liczbę dni dla składnika "dzień". Na przykład dodanie 1 miesiąca do daty 2000-05-31 nie da w wyniku daty 2000-06-31, ponieważ czerwiec nie ma 31 dni. Funkcja zredukuje składnik "dzień" do ostatniego dnia miesiąca, w tym przykładzie do dnia 2000-06-30. Podobny problem pojawia się, gdy przedział czasu jest dodawany do składnika "rok" znacznika czasu, w którym składnikiem "miesiąc" jest luty, a składnikiem "dzień" jest 29 (tj. ostatni dzień lutego w roku przestępnym). Jeśli wynikowy znacznik czasu nie przypada w roku przestępnym, to funkcja zredukuje składnik "dzień" do wartości 28. Poniżej zamieszczono przykłady użycia funkcji TimestampAdd: W poniższym przykładzie zapytanie dotyczy znacznika czasu uzyskanego w wyniku dodania 3 dni do 2000-02-27 14:30:00. Ponieważ rok 2000 jest rokiem przestępnym, zapytanie zwraca znacznik czasu 2000-03-01 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP'2000-02-27 14:30:00') W poniższym przykładzie zapytanie dotyczy znacznika czasu uzyskanego w wyniku dodania 7 miesięcy do 1999-07-31 0:0:0. Zapytanie zwraca znacznik czasu 2000-02-29 00:00:00. Proszę zwrócić uwagę na zmniejszenie wartości składnika "dzień" do 29, wynikające z tego, że luty jest miesiącem krótszym. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP'1999-07-31 00:00:00') W poniższym przykładzie zapytanie dotyczy znacznika czasu uzyskanego w wyniku dodania 25 minut do 2000-07-31 23:35:00. Zapytanie zwraca znacznik czasu 2000-08-01 00:00:00. Proszę zwrócić uwagę na przekazanie wartości nadmiarowej do składnika "miesiąc". TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP'2000-07-31 23:35:00') ### ### TimeStampDiff Funkcja TimestampDiff zwraca liczbę przedziałów czasu między dwoma znacznikami czasu. Składnia: TimestampAdd (przedział_czasu, wyrażenie_znacznika_czasu_1, wyrażenie_znacznika_czasu_2) gdzie:
przedział_czasu | Określony przedział czasu. Dozwolone wartości to: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
wyrażenie_znacznika_czasu_1 | Znacznik czasu odejmowany od drugiego znacznika czasu.
wyrażenie_znacznika_czasu_2 | Drugi znacznik czasu, od którego jest odejmowany pierwszy znacznik czasu (wyrażenie_znacznika_czasu_1) w celu ustalenia różnicy.
Jeśli do funkcji zostanie przekazany argument wyrażenie_znacznika_czasu o wartości Null, to funkcja zwróci wartość Null. Funkcja ta najpierw ustala składnik znacznika czasu odpowiadający podanemu parametrowi przedział_czasu. Na przykład SQL_TSI_DAY odpowiada składnikowi "dzień", a SQL_TSI_MONTH — składnikowi "miesiąc". Następnie — w celu obliczenia łącznej liczby przedziałów czasu — funkcja zajmuje się składnikami wyższego rzędu z obu znaczników czasu. Na przykład, jeśli podany przedział czasu odpowiada składnikowi "miesiąc", to funkcja oblicza łączną liczbę miesięcy dla każdego ze znaczników czasu, dodając składnik "miesiąc" i pomnożony przez dwanaście składnik "rok". Na koniec funkcja odejmuje od łącznej liczby przedziałów czasu drugiego znacznika łączną liczbę przedziałów czasu pierwszego znacznika. Podczas obliczania różnicy w dniach funkcja usuwa wartości godzinowe z obu wyrażeń znacznika czasu, a następnie odejmuje wartości dni. Obliczając różnicę w tygodniach, funkcja oblicza różnicę w dniach i przed zaokrągleniem dzieli uzyskany wynik przez siedem. Obliczając różnicę w kwartałach, funkcja oblicza różnicę w miesiącach i przed zaokrągleniem dzieli uzyskany wynik przez trzy. Obliczając różnicę w latach, funkcja oblicza różnicę w miesiącach i przed zaokrągleniem dzieli uzyskany wynik przez dwanaście. #### Przykład użycia funkcji TimestampDiff i uzyskany wynik W poniższym przykładzie zapytanie dotyczy różnicy w dniach między znacznikami czasu 1998-07-31 23:35:00 i 2000-04-01 14:24:00. Zwraca wartość 610. Proszę zwrócić uwagę, że przestępny rok 2000 daje jeden dodatkowy dzień. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP'1998-07-31 23:35:00', TIMESTAMP'2000-04-01 14:24:00') ### ### Week_Of_Quarter Zwraca liczbę (od 1 do 13) odpowiadającą tygodniowi kwartału podanej daty. Składnia: WEEK_OF_QUARTER (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### Week_Of_Year Zwraca liczbę (od 1 do 53) odpowiadającą tygodniowi roku podanej daty. Składnia: WEEK_OF_YEAR (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
### Rok Zwraca rok podanej daty. Składnia: YEAR (wyrażenie_daty) gdzie:
wyrażenie_daty | Dowolne wyrażenie, którego wynikiem jest data.
Przykład: YEAR (CURRENT_DATE)

Opublikowano: Sierpień 2022 | Copyright © 2005, 2022, Oracle i/lub spółki powiązane. Legal Notices.