Funkcje daty i czasu

Oprogramowanie CLEM oferuje wiele funkcji zapewniających obsługę zmiennych łańcuchowych reprezentujących daty i godziny. Używane formaty daty i godziny są dostosowane do określonych strumieni; można je ustawić w odpowiednich oknach dialogowych właściwości strumieni. Funkcje daty i czasu analizują łańcuchy dat i godzin zgodnie z aktualnie wybranym formatem.

Jeśli użytkownik określi rok w dacie tylko z użyciem dwóch cyfr (bez informacji o wieku), w oprogramowaniu IBM® SPSS Modeler używany jest bieżący wiek ustawiony w oknie dialogowym właściwości strumienia.

Uwaga: Jeśli funkcja daty zostanie przesłana do serwera SQL lub IBM SPSS Analytic Server, w gałęzi następującej po źródle danych Analytic Server wszystkie łańcuchy formatów danych (to_date) w zakresie danej daty muszą odpowiadać formatowi daty określonemu w strumieniu SPSS Modeler.
Tabela 1. Funkcje daty i czasu CLEM
Funkcja Wynik Opis
@TODAY Łańcuch Jeśli użytkownik wybierze opcję Cofnij do dni/godzin w oknie dialogowym właściwości strumienia, ta funkcja zwraca bieżącą datę jako łańcuch z zastosowaniem bieżącego formatu daty. Jeśli użytkownik korzysta z dwucyfrowego formatu zapisu daty i nie wybierze opcji Cofnij do dni/godzin, ta funkcja na bieżącym serwerze zwraca wartość $null$.
to_time(ELEMENT) Czas Przekształca typ składowania określonej zmiennej na godzinę.
to_date(ELEMENT) Date Przekształca typ składowania określonej zmiennej na datę.
to_timestamp(ELEMENT) Znacznik czasu Przekształca typ składowania określonej zmiennej na znacznik czasu.
to_datetime(ELEMENT) Datetime Przekształca typ składowania określonej zmiennej na datę, godzinę i znacznik czasu.
datetime_date(ELEMENT) Date Zwraca wartość daty dla liczby, łańcucha lub znacznika czasu. Jest to jedyna funkcja, która pozwala na wsteczne przekształcenie liczby (w sekundach) na datę. Jeśli ELEMENT jest łańcuchem, data jest tworzona poprzez przeanalizowanie łańcucha w bieżącym formacie daty. Format daty opisany w oknie dialogowym właściwości strumienia musi być poprawny, aby ta funkcja zadziałała prawidłowo. Jeśli ELEMENT jest liczbą, jest ona interpretowana jako liczba sekund, które upłynęły od daty podstawowej. Ułamkowe części wartości dni są obcinane. Jeśli ELEMENT jest znacznikiem czasu, zwracana jest część daty znacznika czasu. Jeśli ELEMENT jest datą, jest ona zwracana w niezmienionej postaci.
date_before(DATA1, DATA2) Boolean Zwraca wartość true, jeśli wartość DATA1 reprezentuje datę lub znacznik czasu przypadające przed datą reprezentowaną przez wartość DATE2. W przeciwnym razie ta funkcja zwraca wartość 0.
date_days_difference(DATA1, DATA2) Liczba całkowita Zwraca liczbę całkowitą oznaczającą czas w dniach od daty lub znacznika czasu reprezentowanych przez wartość DATA1 do wartości reprezentowanej przez wartość DATA2 w postaci liczby całkowitej. Jeśli wartość DATA2 przypada przed wartością DATA1, ta funkcja zwraca liczbę ujemną.
date_in_days(DATA) Liczba całkowita Zwraca czas w dniach od daty bazowej do danej daty lub znacznika czasu reprezentowanych przez wartość DATA w postaci liczby całkowitej. Jeśli wartość DATA przypada przed datą bazową, ta funkcja zwraca liczbę ujemną. Poprawne działanie obliczenia jest uzależnione od wprowadzenia prawidłowej daty. Przykładowo: nie należy określać daty 29 lutego 2001. Rok 2001 nie był rokiem przestępnym, więc taka data nie istniała.
date_in_months(DATA) Liczba rzeczywista Zwraca czas w miesiącach od daty bazowej do daty lub znacznika czasu reprezentowanych przez wartość DATA w postaci liczby rzeczywistej. Jest to wartość zaokrąglona w oparciu o przyjętą średnią długość miesiąca wynoszącą 30,4375 dnia. Jeśli wartość DATA przypada przed datą bazową, ta funkcja zwraca liczbę ujemną. Poprawne działanie obliczenia jest uzależnione od wprowadzenia prawidłowej daty. Przykładowo: nie należy określać daty 29 lutego 2001. Rok 2001 nie był rokiem przestępnym, więc taka data nie istniała.
date_in_weeks(DATA) Liczba rzeczywista Zwraca czas w tygodniach od daty bazowej do daty lub znacznika czasu reprezentowanych przez wartość DATA w postaci liczby rzeczywistej. Jest to wartość określona w oparciu o długość tygodnia wynoszącą 7,0 dni. Jeśli wartość DATA przypada przed datą bazową, ta funkcja zwraca liczbę ujemną. Poprawne działanie obliczenia jest uzależnione od wprowadzenia prawidłowej daty. Przykładowo: nie należy określać daty 29 lutego 2001. Rok 2001 nie był rokiem przestępnym, więc taka data nie istniała.
date_in_years(DATA) Liczba rzeczywista Zwraca czas w latach od daty bazowej do daty lub znacznika czasu reprezentowanych przez wartość DATA w postaci liczby rzeczywistej. Jest to wartość zaokrąglona w oparciu o przyjętą średnią długość roku wynoszącą 365,25 dnia. Jeśli wartość DATA przypada przed datą bazową, ta funkcja zwraca liczbę ujemną. Poprawne działanie obliczenia jest uzależnione od wprowadzenia prawidłowej daty. Przykładowo: nie należy określać daty 29 lutego 2001. Rok 2001 nie był rokiem przestępnym, więc taka data nie istniała.
date_months_difference (DATA1, DATA2) Liczba rzeczywista Zwraca liczbę całkowitą oznaczającą czas w miesiącach od daty lub znacznika czasu reprezentowanych przez wartość DATA1 do wartości reprezentowanej przez DATA2 w postaci liczby rzeczywistej. Jest to wartość zaokrąglona w oparciu o przyjętą średnią długość miesiąca wynoszącą 30,4375 dnia. Jeśli wartość DATA2 przypada przed wartością DATA1, ta funkcja zwraca liczbę ujemną.
datetime_date(ROK, MIESIĄC, DZIEŃ) Date Tworzy wartość daty z danego ROKU, MIESIĄCA i DNIA. Argumenty muszą być liczbami całkowitymi.
datetime_day(DATA) Liczba całkowita Zwraca dzień miesiąca na podstawie danej DATY lub znacznika czasu. Wynik jest liczbą całkowitą w przedziale od 1 do 31.
datetime_day_name(DZIEŃ) Łańcuch Zwraca pełną nazwę danego DNIA. Argument musi być liczbą całkowitą w przedziale od 1 (niedziela) do 7 (sobota).
datetime_hour(CZAS) Liczba całkowita Zwraca godzinę na podstawie CZASU lub znacznika czasu. Wynik jest liczbą całkowitą w przedziale od 0 do 23.
datetime_in_seconds(CZAS) Liczba rzeczywista Zwraca sekcję sekund przechowywaną w wartości CZAS.
datetime_in_seconds(DATA), datetime_in_seconds(DATA_CZAS) Liczba rzeczywista Zwraca skumulowaną liczbę przekształconą na sekundy, obliczoną jako różnica między bieżącą DATĄ lub DATĄGODZINĄ i datą bazową (1900-01-01).
datetime_minute(CZAS) Liczba całkowita Zwraca minutę na podstawie CZASU lub znacznika czasu. Wynik jest liczbą całkowitą w przedziale od 0 do 59.
datetime_month(DATA) Liczba całkowita Zwraca miesiąc na podstawie danej DATY lub znacznika czasu. Wynik jest liczbą całkowitą w przedziale od 1 do 12.
datetime_month_name (MIESIĄC) Łańcuch Zwraca pełną nazwę danego MIESIĄCA. Argument musi być liczbą całkowitą w przedziale od 1 do 12.
datetime_now Znacznik czasu Zwraca aktualny czas jako znacznik czasu.
datetime_second(CZAS) Liczba całkowita Zwraca sekundę na podstawie CZASU lub znacznika czasu. Wynik jest liczbą całkowitą w przedziale od 0 do 59.
datetime_day_short_name (DZIEŃ) Łańcuch Zwraca skróconą nazwę danego DNIA. Argument musi być liczbą całkowitą w przedziale od 1 (niedziela) do 7 (sobota).
datetime_month_short_name (MIESIĄC) Łańcuch Zwraca skróconą nazwę danego MIESIĄCA. Argument musi być liczbą całkowitą w przedziale od 1 do 12.
datetime_time(GODZINA, MINUTA, SEKUNDA) Czas Zwraca wartość czasu dla określonej GODZINY, MINUTY i SEKUNDY. Argumenty muszą być liczbami całkowitymi.
datetime_time(ELEMENT) Czas Zwraca wartość czasu danego ELEMENTU.
datetime_timestamp(ROK, MIESIĄC, DZIEŃ, GODZINA, MINUTA, SEKUNDA) Znacznik czasu Zwraca wartość znacznika czasu dla danego ROKU, MIESIĄCA, DNIA, GODZINY, MINUTY i SEKUNDY.
datetime_timestamp(DATA, CZAS) Znacznik czasu Zwraca wartość znacznika czasu dla danej DATY i CZASU.
datetime_timestamp (NUMER) Znacznik czasu Zwraca wartość znacznika czasu dla danej liczby sekund.
datetime_weekday(DATA) Liczba całkowita Zwraca dzień tygodnia na podstawie danej DATY lub znacznika czasu.
datetime_year(DATA) Liczba całkowita Zwraca rok na podstawie danej DATY lub znacznika czasu. Wynik jest liczbą całkowitą np. 2002.
date_weeks_difference (DATA1, DATA2) Liczba rzeczywista Zwraca liczbę całkowitą oznaczającą czas w tygodniach od daty lub znacznika czasu reprezentowanych przez wartość DATA1 do wartości reprezentowanej przez DATA2 w postaci liczby rzeczywistej. Jest to wartość określona w oparciu o długość tygodnia wynoszącą 7,0 dni. Jeśli wartość DATA2 przypada przed wartością DATA1, ta funkcja zwraca liczbę ujemną.
date_years_difference (DATA1, DATA2) Liczba rzeczywista Zwraca liczbę całkowitą oznaczającą czas w latach od daty lub znacznika czasu reprezentowanych przez wartość DATA1 do wartości reprezentowanej przez DATA2 w postaci liczby rzeczywistej. Jest to wartość zaokrąglona w oparciu o przyjętą średnią długość roku wynoszącą 365,25 dnia. Jeśli wartość DATA2 przypada przed wartością DATA1, ta funkcja zwraca liczbę ujemną.
date_from_ywd(ROK, TYDZIEŃ, DZIEN) Liczba całkowita Przekształca rok, tydzień w roku oraz dzień tygodnia na datę, używając normy ISO 8601.
date_iso_day(DATA) Liczba całkowita Zwraca dzień tygodnia z daty, używając normy ISO 8601.
date_iso_week(DATA) Liczba całkowita Zwraca tydzień roku z daty, używając normy ISO 8601.
date_iso_year(DATA) Liczba całkowita Zwraca rok z daty, używając normy ISO 8601.
time_before(CZAS1, CZAS2) Boolean Zwraca wartość true, jeśli wartość CZAS1 reprezentuje czas lub znacznik czasu przypadające przed czasem reprezentowanym przez wartość CZAS2. W przeciwnym razie ta funkcja zwraca wartość 0.
time_hours_difference (CZAS1, CZAS2) Liczba rzeczywista Zwraca liczbę rzeczywistą oznaczającą różnicę wyrażoną w godzinach pomiędzy czasem lub znacznikiem czasu CZAS1 a CZAS2. Jeśli użytkownik wybierze opcję Cofnij do dni/godzin w oknie dialogowym właściwości strumienia, jako odniesienie do poprzedniego dnia jest wybierana wyższa wartość CZAS1. Jeśli ta opcja nie zostanie wybrana, wyższa wartość CZAS1 powoduje, że zwracana wartość jest ujemna.
time_in_hours(CZAS) Liczba rzeczywista Zwraca czas w godzinach reprezentowany jako wartość CZAS w postaci liczby rzeczywistej. Przykładowo: w przypadku formatu czasu GGMM wyrażenie time_in_hours('0130') zwraca 1.5. Wartość CZAS może odzwierciedlać czas lub znacznik czasu.
time_in_mins(CZAS) Liczba rzeczywista Zwraca czas w minutach reprezentowany jako wartość CZAS w postaci liczby rzeczywistej. Wartość CZAS może odzwierciedlać czas lub znacznik czasu.
time_in_secs(CZAS) Liczba całkowita Zwraca czas w sekundach reprezentowany jako wartość CZAS w postaci liczby całkowitej. Wartość CZAS może odzwierciedlać czas lub znacznik czasu.
time_mins_difference(CZAS1, CZAS2) Liczba rzeczywista Zwraca liczbę rzeczywistą oznaczającą wyrażoną w minutach różnicę pomiędzy czasem lub znacznikiem czasu CZAS1 a CZAS2. Jeśli użytkownik wybierze opcję Cofnij do dni/godzin w oknie dialogowym właściwości strumienia, jako odniesienie do poprzedniego dnia jest wybierana wyższa wartość CZAS1 (lub poprzedniej godziny, jeśli minuty i sekundy określono w bieżącym formacie). Jeśli ta opcja nie zostanie wybrana, wyższa wartość CZAS1 powoduje, że zwracana wartość jest ujemna.
time_secs_difference(CZAS1, CZAS2) Liczba całkowita Zwraca liczbę całkowitą oznaczającą wyrażoną w sekundach różnicę pomiędzy czasami lub znacznikami czasu reprezentowaną przez wartości CZAS1 i CZAS2. Jeśli użytkownik wybierze opcję Cofnij do dni/godzin w oknie dialogowym właściwości strumienia, jako odniesienie do poprzedniego dnia jest wybierana wyższa wartość CZAS1 (lub poprzedniej godziny, jeśli minuty i sekundy określono w bieżącym formacie). Jeśli ta opcja nie zostanie wybrana, wyższa wartość CZAS1 powoduje, że zwracana wartość jest ujemna.