Funkcje rzutowania typu danych date2string ( wyrażenie_data ) Zwraca datę jako łańcuch w formacie RRRR-MM-DD. time2string ( wyrażenie_godziny ) Zwraca czas jako łańcuch w formacie GG:MM:SS.FFF. timeTZ2string ( wyrażenie_strefy_czasu ) Zwraca czas ze strefą czasową jako łańcuch w formacie GG:MM:SS.FFF +GGMM lub GG:MM:SS.FFFFFFF -GGMM. Na przykład -05:30 oznacza strefę czasową GMT minus 5 godzin i 30 minut timestamp2string ( wyrażenie_znacznik_czasu ) Zwraca znacznik czasu jako łańcuch w formacie RRRR-MM-DD GG:MM:SS.FFFFFFF. timestampTZ2string ( wyrażenie_strefa_czas_znacznika_czasu ) Zwraca znacznik czasu ze strefą czasową jako łańcuch w formacie RRRR-MM-DD GG:MM:SS.FFFFFFF +GGMM lub RRRR-MM-DD GG:MM:SS.FFF -GGMM. DTinterval2string ( wyrażenie_przedziału_daty_godziny ) Zwraca przedział daty/godziny jako łańcuch w formacie DDDD GG:MM:SS.FFFFFFF lub -DDDD GG:MM:SS.FFF. DTinterval2stringAsTime ( wyrażenie_przedziału_daty_godziny ) Zwraca przedział daty/godziny jako łańcuch w formacie GGGG:MM:SS.FFFFFFF lub GG:MM:SS.FFF. Dni są przekształcane na godziny. int2DTinterval ( wyrażenie_liczba_całk ; wyrażenie_łańcuchowe ) Przekształca liczbę całkowitą na przedział daty/godziny. "Wyrażenie_łańcuchowe" określa, co oznacza "wyrażenie_liczba_całk": "ns" = nanosekundy, "s" = sekundy (domyślnie), "m" = minuty, "g" = godziny, "d" = dni. Przykład: int2DTinterval (1020,"g") Wynik: 42 dni 12 godzin Przykład: int2DTinterval (1020,"s") Wynik: 17 minut mapNumberToLetter ( wyrażenie_łańcuchowe ; wyrażenie_liczba_całk ) Dodaje "wyrażenie_liczba_całk" do "wyrażenie_łańcuchowe". Przykład: mapNumberToLetter ( 'a' ; 1 ) Wynik: b nullif ( wyrażenie_łańcuchowe1 ; wyrażenie_łańcuchowe2 ) Zwraca null, jeśli "wyrażenie_łańcuchowe1" równe jest "wyrażenie_łańcuchowe2" (bez rozróżniania wielkości liter). W przeciwnym razie zwraca "wyrażenie_łańcuchowe1". mod ( wyrażenie_liczba_całk1 ; wyrażenie_liczba_całk2 ) Zwraca liczbę całkowitą reprezentującą resztę (modulo) z dzielenia "wyrażenie_liczba_całk1" przez "wyrażenie_liczba_całk2". power ( wyrażenie_numeryczne1 ; wyrażenie_numeryczne2 ) Zwraca "wyrażenie_numeryczne1" podniesione do potęgi "wyrażenie_numeryczne2". Przykład: power ( 3 ; 2 ) Wynik: 9 int2YMinterval ( wyrażenie_liczba_całk ; wyrażenie_łańcuchowe ) Przekształca "wyrażenie_liczba_całk" na przedział rok-miesiąc. "Wyrażenie_łańcuchowe" określa, co oznacza "wyrażenie_liczba_całk": "r" = lata, "m" = miesiące (domyślnie). YMinterval2string ( wyrażenie_przedział_rok_miesiąc ) Zwraca "wyrażenie_przedział_rok_miesiąc" jako łańcuch w formacie (RR MM) lub -(RR MM). number2string ( wyrażenie_numeryczne ) Przekształca "wyrażenie_numeryczne" na łańcuch, używając specyfikatora formatu %g (składnia C/C++). string2date ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe" jako datę w formacie RRRR-MM-DD. Zwraca "wyrażenie_łańcuchowe" jako przedział Rok Miesiąc w formacie [-]RR MM. string2YMinterval ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe" jako przedział daty/godziny w formacie [-]DD GG:MM[:SS[.FFF]]. string2DTinterval ( wyrażenie_łańcuchowe ) string2time ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe" jako czas w formacie GG:MM:SS.FFFFFFF. string2timestamp ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe" jako znacznik czasu w formacie RRRR-MM-DD [T|t|[białe znaki]+] GG:MM:SS.FFFFFFF. string2timestampTZ ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe" w formacie RRRR-MM-DD GG:MM:SS.FFFFFFF +GGMM lub RRRR-MM-DD [T|t] GG:MM:SS.FFF -GGMM. string2double ( wyrażenie_łańcuchowe ) Zwraca liczbę zmiennoprzecinkową. "Wyrażenie_łańcuchowe" ma następujący format: "[białe_znaki] [znak] [cyfry] [cyfry] [ {d|D|e|E }[znak]cyfry]" string2int64 ( wyrażenie_łańcuchowe ) Zwraca długą liczbę całkowitą. "Wyrażenie_łańcuchowe" ma następującą formę: "[białe_znaki] [{+ | -}] [cyfry]" string2int32 ( wyrażenie_łańcuchowe ) Zwraca liczbę całkowitą. "Wyrażenie_łańcuchowe" ma następującą formę: "[białe_znaki] [{+ | -}] [cyfry]" date2timestamp ( wyrażenie_data ) Przekształca "wyrażenie_data" na znacznik czasu. Część czasu znacznika czasu będzie równa 0. timestamp2date ( wyrażenie_znacznik_czasu ) Przekształca "wyrażenie_znacznik_czasu" na datę. Część czasu znacznika czasu zostanie zignorowana. timestamp2timestampTZ ( wyrażenie_znacznik_czasu ) Przekształca "wyrażenie_znacznik_czasu" na znacznik czasu ze strefą czasową. Część przemieszczenia znacznika czasu ze strefą czasową będzie równa 0. timestampTZ2timestamp ( wyrażenie_strefa_czas_znacznika_czasu ) Przekształca "wyrażenie_strefa_czas_znacznika_czasu" na znacznik czasu. Część przemieszczenia znacznika czasu ze strefą czasową zostanie zignorowana. date2timestampTZ ( wyrażenie_data ) Przekształca "wyrażenie_data" na znacznik czasu ze strefą czasową. Części znacznika czasu określające czas i strefę czasową będą równe 0. timestampTZ2date ( wyrażenie_strefa_czas_znacznika_czasu ) Przekształca "wyrażenie_strefa_czas_znacznika_czasu" na datę. Części znacznika czasu określające czas i strefę czasową zostaną zignorowane. _add_days ( wyrażenie_znacznik_czasu ; wyrażenie_liczba_całk ) Zwraca datę/godzinę powstałą po dodaniu "wyrażenie_liczba_całk" dni do "wyrażenie_znacznik_czasu". Przykład: _add_days ( 2007-01-14 00:00:00,000 ; 3 ) Wynik: 2007-01-17 00:00:00.000 _add_months ( wyrażenie_znacznik_czasu ; wyrażenie_liczba_całk ) Zwraca datę/godzinę powstałą po dodaniu "wyrażenie_liczba_całk" miesięcy do "wyrażenie_znacznik_czasu". _add_years ( wyrażenie_znacznik_czasu ; wyrażenie_liczba_całk ) Zwraca datę/godzinę powstałą po dodaniu "wyrażenie_liczba_całk" lat do "wyrażenie_znacznik_czasu". _age ( wyrażenie_znacznik_czasu ) Zwraca liczbę poprzez odjęcie "wyrażenie_znacznik_czasu" od daty bieżącej. Przykład: _age ([Zapytanie1].[Data]), gdzie [Zapytanie1].[Data] to 2 marca 2004, a dzisiaj jest 8 lipca 2009 Wynik: 50,406, gdzie 5 to liczba lat, 04 to liczba miesięcy, a 06 to liczba dni. _day_of_week ( wyrażenie_znacznik_czasu ; wyrażenie_liczba_całk ) Zwraca dni tygodnia (z przedziału od 1 do 7) dla "wyrażenie_znacznik_czasu", gdzie "wyrażenie_liczba_całk" określa, który dzień tego tygodnia to dzień 1. Aby ustalić "wyrażenie_liczba_całk", wybierz dzień tygodnia i policz od poniedziałku; na przykład, jeśli wybierzesz środę, "wyrażenie_liczba_całk" wynosiłoby 3, ponieważ środa jest trzecim dniem, licząc od poniedziałku. Przykład: _day_of_week ( 2009-01-01 ; 7 ), gdzie 7 oznacza, że niedziela jest pierwszym dniem tygodnia. Wynik: 5 _day_of_year ( wyrażenie_znacznik_czasu ) Zwraca liczbę porządkową oznaczającą dzień roku określony w "wyrażenie_znacznik_czasu" (od 1 do 366). Jest on także zwany dniem juliańskim. _days_between ( wyrażenie_znacznik_czasu1 ; wyrażenie_znacznik_czasu2 ) Zwraca liczbę dodatnią lub ujemną oznaczającą liczbę dni przypadających pomiędzy datami określonymi przez "wyrażenie_znacznik_czasu1" i "wyrażenie_znacznik_czasu2". Jeśli "wyrażenie_znacznik_czasu1" < "wyrażenie_znacznik_czasu2", wynik będzie liczbą ujemną. _days_to_end_of_month ( wyrażenie_znacznik_czasu ) Zwraca liczbę oznaczającą liczbę pozostałych dni w miesiącu na podstawie "wyrażenie_znacznik_czasu". _first_of_month ( wyrażenie_znacznik_czasu ) Zwraca datę/godzinę będącą pierwszym dniem miesiąca określonym przez "wyrażenie_znacznik_czasu". Przykład: _first_of_month ( 2009-05-04 00:00:00,000 ) Wynik: Zwraca 2009-05-01 00:00:00.000 Przykład: _first_of_month (data_bieżąca) Wynik: Zwraca 1 lipca 2009, jeśli data bieżąca to 30 lipca 2009. _last_of_month ( wyrażenie_znacznik_czasu ) Zwraca datę/godzinę będącą ostatnim dniem miesiąca określonym przez "wyrażenie_znacznik_czasu". _make_timestamp ( wyrażenie_liczba_całk1 ; wyrażenie_liczba_całk2 ; wyrażenie_liczba_całk3 ) Zwraca znacznik czasu zbudowany z następujących części: "wyrażenie_liczba_całk1" (rok), "wyrażenie_liczba_całk2" (miesiąc) i "wyrażenie_liczba_całk3" (dzień). Część oznaczająca czas ma wartość domyślną 00:00:00.000. _months_between ( wyrażenie_znacznik_czasu1 ; wyrażenie_znacznik_czasu2 ) Zwraca liczbę dodatnią lub ujemną oznaczającą liczbę miesięcy przypadających pomiędzy datami określonymi przez "wyrażenie_znacznik_czasu1" i "wyrażenie_znacznik_czasu2". Jeśli "wyrażenie_znacznik_czasu1" < "wyrażenie_znacznik_czasu2", wynik będzie liczbą ujemną. _week_of_year ( wyrażenie_znacznik_czasu ) Zwraca liczbę tygodni w roku (z przedziału od 1 do 53) dla "wyrażenie_znacznik_czasu". Zgodnie z normą ISO 8601, 1. tydzień roku jest pierwszym tygodniem zawierającym czwartek, który jest odpowiednikiem pierwszego tygodnia zawierającego datę 4. stycznia. Tydzień zaczyna się od poniedziałku (1. dnia) i kończy się w niedzielę (7. dnia). _years_between ( wyrażenie_znacznik_czasu1 ; wyrażenie_znacznik_czasu2 ) Zwraca dodatnią lub ujemną liczbę całkowitą oznaczającą liczbę lat pomiędzy datami określonymi przez "wyrażenie_znacznik_czasu1" i "wyrażenie_znacznik_czasu2". Jeśli "wyrażenie_znacznik_czasu1" < "wyrażenie_znacznik_czasu2", zwracana jest wartość ujemna. _ymdint_between ( wyrażenie_znacznik_czasu1 ; wyrażenie_znacznik_czasu2 ) Zwraca liczbę oznaczającą różnicę pomiędzy "wyrażenie_znacznik_czasu1" i "wyrażenie_znacznik_czasu2". Wartość ta ma formę RRMMDD, gdzie RR oznacza liczbę lat, MM - miesięcy, a DD - dni. Przykład: _ymdint_between ( [Zapytanie1].[Data (data zamknięcia)] ; [Zapytanie1].[Data (data wysyłki)] ), gdzie [Zapytanie1].[Data (data zamknięcia)] wypada 20 lutego 2004, a [Zapytanie1].[Data (data wysyłki)] wypada 19 stycznia 2004. Wynik: 101, gdzie 1 to liczba miesięcy a 01 to liczba dni. abs ( wyrażenie_numeryczne ) Zwraca wartość bezwzględną z "wyrażenie_numeryczne". Jeśli "wyrażenie_numeryczne" jest ujemne, zwracana jest liczba dodatnia. ceiling ( wyrażenie_numeryczne ) Zwraca najmniejszą liczbę całkowitą większą lub równą "wyrażenie_numeryczne". exp ( wyrażenie_numeryczne ) Zwraca stałą 'e' podniesioną do potęgi "wyrażenie_numeryczne". Stała 'e' jest podstawą logarytmu naturalnego. Przykład: exp ( 2 ) Wynik: 7,389056 floor ( wyrażenie_numeryczne ) Zwraca największą liczbę całkowitą mniejszą lub równą "wyrażenie_numeryczne". ln ( wyrażenie_numeryczne ) Zwraca logarytm naturalny z argumentu "wyrażenie_numeryczne". round ( wyrażenie_numeryczne ; wyrażenie_liczba_całk ) Zwraca "wyrażenie_numeryczne" zaokrąglone do najbliższej wartości z "wyrażenie_liczba_całk" istotnych cyfr z prawej strony separatora dziesiętnego. Jeśli "wyrażenie_liczba_całk" ma wartość ujemną, "wyrażenie_numeryczne" jest zaokrąglane do najbliższej wartości bezwzględnej z "wyrażenie_liczba_całk" istotnych cyfr z lewej strony separatora dziesiętnego. Zaokrąglanie wykonywane jest przed formatowaniem danych. Przykład: round (125; -1) Wynik: 130 sqrt ( wyrażenie_numeryczne ) Zwraca pierwiastek kwadratowy z "wyrażenie_numeryczne". "Wyrażenie_numeryczne" nie może być wartością ujemną. character_length ( wyrażenie_łańcuchowe ) Zwraca liczbę znaków w łańcuchu "wyrażenie_łańcuchowe". extract ( wyrażenie_część_daty ; wyrażenie_data_godz ) Zwraca liczbę całkowitą reprezentującą wartość "wyrażenie_część_daty" w "wyrażenie_data_godz". "Wyrażenie_część_daty" może być rokiem, miesiącem, dniem, godziną, minutą lub sekundą. Przykład: extract ( 'rok' ;łańcuch2_znacznik_czasu( '2003-03-03 16:40:15,535' )) Wynik: 2003 Przykład: extract ( 'godzina' ;łańcuch2_znacznik_czasu( '2003-03-03 16:40:15,535' )) Wynik: 16 lower ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe", w którym wszystkie znaki zapisane wielkimi literami zostały przekształcone na małe litery. Ta funkcja pojawia się w przykładowym raporcie Rozdzielony raport dotyczący wyników sprzedaży dostępnym w pakiecie Hurtownia danych WIO (zapytanie). octet_length ( wyrażenie_łańcuchowe ) Zwraca liczbę bajtów w łańcuchu "wyrażenie_łańcuchowe". position ( wyrażenie_łańcuchowe1 ; wyrażenie_łańcuchowe2 ) Zwraca liczbę całkowitą reprezentującą początkową pozycję "wyrażenie_łańcuchowe1" w "wyrażenie_łańcuchowe2". Zwraca 0, jeśli "wyrażenie_łańcuchowe1" nie zostało znalezione. substring ( wyrażenie_łańcuchowe ; wyrażenie_liczba_całk1 ; wyrażenie_liczba_całk2 ) Zwraca podłańcuch łańcucha "wyrażenie_łańcuchowe", rozpoczynający się od pozycji "wyrażenie_liczba_całk1" o długości "wyrażenie_liczba_całk2" znaków lub na koniec łańcucha "wyrażenie_łańcuchowe", jeśli "wyrażenie_liczba_całk2" wynosi -1. Pierwszy znak w łańcuchu "wyrażenie_łańcuchowe" znajduje się na pozycji 1. substring ( [Sprzedaż (analiza)].[Pracownicy sprzedaży].[Pracownicy sprzedaży].[Pracownicy sprzedaży].[Kod stanowiska]; 3 ; 5 ) Wynik: Zwraca znaki kodów stanowisk z pozycji od 3 do 7. trim ( wyrażenie_co_odciąć ; zgodne_wyrażenie_znakowe ; wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe" z odciętymi spacjami wiodącymi i kończącymi lub odciętym znakiem określonym w "zgodne_wyrażenie_znakowe". Wyrażeniem "wyrażenie_co_odciąć" może być: "leading", "trailing" lub "both" (domyślnie). "Zgodne_wyrażenie_znakowe" może być pustym łańcuchem, aby możliwe było odcięcie spacji lub określenie znaku do odcięcia. upper ( wyrażenie_łańcuchowe ) Zwraca "wyrażenie_łańcuchowe", w którym wszystkie znaki zapisane małymi literami zostały przekonwertowane na wielkie litery. status ( wyrażenie ) Zwraca status "wyrażenia". Możliwe wartości to: 0 - OK, 1 - null, 2 - niedostępne, 4 - dzielenie przez zero, 8 - przepełnienie, 16 - zabezpieczenia, 32 - błąd, 64 - nowe, 128 - przykład, 256 - oczekujące.