Funkce přetypování datových typů date2string ( výraz_typu_datum ) Vrací datum jako řetězec ve formátu RRRR-MM-DD. time2string ( výrazu_typu_čas ) Vrací čas jako řetězec ve formátu HH:MM:SS.ZZZ. timeTZ2string ( výraz_typu_čas_časové_pásmo ) Vrací čas s časovým pásmem jako řetězec ve formátu HH:MM:SS.ZZZ +HHMM nebo HH:MM:SS.ZZZZZZZ -HHMM. Příklad: -05:30 znamená časové pásmo GMT minus 5 hodin a 30 minut timestamp2string ( výraz_typu_časové_razítko ) Vrací časové razítko jako řetězec ve formátu RRRR-MM-DD HH:MM:SS.ZZZZZZZ. timestampTZ2string ( výraz_typu_časové_razítko_časové_pásmo ) Vrací časové razítko s časovým pásmem jako řetězec ve formátu RRRR-MM-DD HH:MM:SS.ZZZZZZZ +HHMM nebo RRRR-MM-DD HH:MM:SS.ZZZ -HHMM. DTinterval2string ( výraz_typu_interval_data_času ) Vrací interval data a času jako řetězec ve formátu DDDD HH:MM:SS.ZZZZZZZ nebo -DDDD HH:MM:SS.ZZZ. DTinterval2stringAsTime ( výraz_typu_interval_data_času ) Vrací interval data a času jako řetězec ve formátu HHHH:MM:SS.ZZZZZZZ nebo HH:MM:SS.ZZZ. Dny jsou převedeny na hodiny. int2DTinterval ( výraz_typu_celé_číslo , výraz_typu_řetězec ) Převede celé číslo na interval data a času. "Výraz_typu_řetězec" určuje, co představuje "výraz_typu_celé_číslo": "ns" = nanosekundy, "s" = sekundy (výchozí), "m" = minuty, "h" = hodiny, "d" = dny. Příklad: int2DTinterval (1020,"h") Výsledek: 42 dnů 12 hodin Příklad: int2DTinterval (1020,"s") Výsledek: 17 minut mapNumberToLetter ( výraz_typu_řetězec , výraz_typu_celé_číslo ) Přidá "výraz_typu_celé_číslo" k "výrazu_typu_řetězec". Příklad: mapNumberToLetter ( 'a' , 1 ) Výsledek: b nullif ( výraz_typu_řetězec1 , výraz_typu_řetězec2 ) Vrací NULL, pokud se "výraz_typu_řetězec1" rovná "výrazu_typu_řetězec2" (bez rozlišení malých a velkých písmen), jinak vrací "výraz_typu_řetězec1". mod ( výraz_typu_celé_číslo1 , výraz_typu_celé_číslo2 ) Vrací celočíselnou hodnotu představující zbytek (modulo) po operaci "výraz_typu_celé_číslo1" / "výraz_typu_celé_číslo2". power ( výraz_typu_číslo1 , výraz_typu_číslo2 ) Vrací "výraz_typu_číslo1" umocněný na "výraz_typu_číslo2". Příklad: power ( 3 , 2 ) Výsledek: 9 int2YMinterval ( výraz_typu_celé_číslo , výraz_typu_řetězec ) Převede "výraz_typu_celé_číslo" na interval roku a měsíce. "Výraz_typu_řetězec" určuje, co představuje "výraz_typu_celé_číslo": "y" = roky, "m" = měsíce (výchozí). YMinterval2string ( výraz_typu_interval_roku_měsíce ) Vrací "výraz_typu_interval_roku_měsíce" jako řetězec ve formátu (RR MM) nebo -(RR MM). number2string ( výraz_typu_číslo ) Převede "výraz_typu_číslo" na řetězec pomocí specifikátoru formátu %g (syntaxe C/C++). string2date ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" jako datum ve formátu RRRR-MM-DD. Vrací "výraz_typu_řetězec" jako interval roku a měsíce ve formátu [-]RR MM. string2YMinterval ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" jako interval data a času ve formátu [-]DD HH:MM[:SS[.ZZZ]]. string2DTinterval ( výraz_typu_řetězec ) string2time ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" jako čas ve formátu HH:MM:SS.ZZZZZZZ. string2timestamp ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" jako časové razítko ve formátu RRRR-MM-DD [T|t|[mezera]+] HH:MM:SS.ZZZZZZZ. string2timestampTZ ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" ve formátu RRRR-MM-DD HH:MM:SS.ZZZZZZZ +HHMM nebo RRRR-MM-DD [T|t] HH:MM:SS.ZZZ -HHMM. string2double ( výraz_typu_řetězec ) Vrací číslo s pohyblivou desetinnou čárkou. "Výraz_typu_řetězec" má tento tvar: "[mezera] [znaménko] [číslice] [číslice] [ {d|D|e|E }[znaménko]číslice]" string2int64 ( výraz_typu_řetězec ) Vrací celé číslo typu long. "Výraz_typu_řetězec" má tento tvar: "[mezera] [{+|-}] [číslice]" string2int32 ( výraz_typu_řetězec ) Vrací celé číslo. "Výraz_typu_řetězec" má tento tvar: "[mezera] [{+|-}] [číslice]" date2timestamp ( výraz_typu_datum ) Převede "výraz_typu_datum" na časové razítko. Část časového razítka určující čas bude rovná nule. timestamp2date ( výraz_typu_časové_razítko ) Převede "výraz_typu_časové_razítko" na datum. Část časového razítka určující čas bude ignorována. timestamp2timestampTZ ( výraz_typu_časové_razítko ) Převede "výraz_typu_časové_razítko" na časové razítko s časovým pásmem. Část časového razítka s časovým pásmem určující posun bude nula. timestampTZ2timestamp ( výraz_typu_časové_razítko_časové_pásmo ) Převede "výraz_typu_časové_razítko_časové_pásmo" na časové razítko. Část časového razítka s časovým pásmem určující posun bude ignorována. date2timestampTZ ( výraz_typu_datum ) Převede "výraz_typu_datum" na časové razítko s časovým pásmem. Části časového razítka určující čas a časové pásmo budou rovny nule. timestampTZ2date ( výraz_typu_časové_razítko_časové_pásmo ) Převede "výraz_typu_časové_razítko_časové_pásmo" na datum. Části časového razítka určující čas a časové pásmo budou rovny ignorovány. _add_days ( výraz_typu_časové_razítko , výraz_typu_celé_číslo ) Vrací datum a čas, které jsou výsledkem přidání "výrazu_typu_celé_číslo" dnů k "výrazu_typu_časové_razítko". Příklad: _add_days ( 2007-01-14 00:00:00.000 , 3 ) Výsledek: 2007-01-17 00:00:00.000 _add_months ( výraz_typu_časové_razítko , výraz_typu_celé_číslo ) Vrací datum a čas, které jsou výsledkem přidání "výrazu_typu_celé_číslo" měsíců k "výrazu_typu_časové_razítko". _add_years ( výraz_typu_časové_razítko , výraz_typu_celé_číslo ) Vrací datum a čas, které jsou výsledkem přidání "výrazu_typu_celé_číslo" roků k "výrazu_typu_časové_razítko". _age ( výraz_typu_časové_razítko ) Vrací číslo po odečtení "výrazu_typu_časové_razítko" od dnešního data. Příklad: _age ([Query1].[Date]), kde [Query1].[Date] je March 2, 2004 a dnes je July 8, 2009 Výsledek: 50 406, kde 5 je počet roků, 04 je počet měsíců a 06 je počet dnů. _day_of_week ( výraz_typu_časové_razítko , výraz_typu_celé_číslo ) Vrací den v týdnu (od 1 do 7) pro "výraz_typu_časové_razítko", kde "výraz_typu_celé_číslo" udává, který den v tomto týdnu je den 1. Ke stanovení "výrazu_typu_celé_číslo" zvolte den týdne a počítejte od pondělí; pokud např. zvolíte středu, "výraz_typu_celé_číslo" bude 3, protože středa je třetím dnem od pondělí. Příklad: _day_of_week ( 2009-01-01 , 7 ), kde 7 znamená, že prvním dnem týdne je neděle. Výsledek: 5 _day_of_year ( výraz_typu_časové_razítko ) Vrací pořadové číslo dne v roce pro "výraz_typu_časové_razítko" (od 1 do 366). Známé také jako juliánský den. _days_between ( výraz_typu_časové_razítko1 , výraz_typu_časové_razítko2 ) Vrací kladné či záporné číslo představující počet dnů mezi výrazy "výraz_typu_časové_razítko1" a "výraz_typu_časové_razítko2". Je-li "výraz_typu_časové_razítko1" < "výraz_typu_časové_razítko2", bude výsledkem záporné číslo. _days_to_end_of_month ( výraz_typu_časové_razítko ) Vrací číslo představující počet dnů zbývajících v měsíci, který představuje "výraz_typu_časové_razítko". _first_of_month ( výraz_typu_časové_razítko ) Vrací datum a čas pro první den v měsíci, který představuje "výraz_typu_časové_razítko". Příklad: _first_of_month ( 2009-05-04 00:00:00.000 ) Výsledek: Vrací 2009-05-01 00:00:00.000 Příklad: _first_of_month (aktuální_datum) Výsledek: Vrací 1 Červenec, 2009, je-li aktuální datum 30 Červenec, 2009. _last_of_month ( výraz_typu_časové_razítko ) Vrací datum a čas pro poslední den v měsíci, který představuje "výraz_typu_časové_razítko". _make_timestamp ( výraz_typu_celé_číslo1 , výraz_typu_celé_číslo2 , výraz_typu_celé_číslo3 ) Vrací časové razítko vytvořené z "výrazu_typu_celé_číslo1" (rok), "výrazu_typu_celé_číslo2" (měsíc) a "výrazu_typu_celé_číslo3" (den). Výchozí hodnota části udávající čas je 00:00:00.000 . _months_between ( výraz_typu_časové_razítko1 , výraz_typu_časové_razítko2 ) Vrací kladné či záporné číslo představující počet měsíců mezi "výrazem_typu_časové_razítko1" a "výrazem_typu_časové_razítko2". Je-li "výraz_typu_časové_razítko1" < "výraz_typu_časové_razítko2", bude výsledkem záporné číslo. _week_of_year ( výraz_typu_časové_razítko ) Vrací číslo týdne (1-53) v roce, který představuje "výraz_typu_časové_razítko". Podle ISO 8601 je týdnem 1 v roce první týden, který obsahuje čtvrtek, což je totéž jako první týden obsahující 4. leden. Týden začíná pondělím (den 1) a končí nedělí (den 7). _years_between ( výraz_typu_časové_razítko1 , výraz_typu_časové_razítko2 ) Vrací kladné či záporné celé číslo představující počet let mezi výrazy "výraz_typu_časové_razítko1" a "výraz_typu_časové_razítko2". Je-li "výraz_typu_časové_razítko1" < "výraz_typu_časové_razítko2", bude vrácena záporná hodnota. _ymdint_between ( výraz_typu_časové_razítko1 , výraz_typu_časové_razítko2 ) Vrací číslo představující rozdíl mezi "výrazem_typu_časové_razítko1" a "výrazem_typu_časové_razítko2". Tato hodnota má formát RRMMDD, kde RR představuje počet roků, MM představuje počet měsíců a DD představuje počet dnů. Příklad: _ymdint_between ( [Query1].[Date (close date)] , [Query1].[Date (ship date)] ), kde [Query1].[Date (close date)] je February 20, 2004 a [Query1].[Date (ship date)] je January 19, 2004. Výsledek: 101, kde 1 je počet měsíců a 01 je počet dnů. abs ( výrazu_typu_číslo ) Vrací absolutní hodnotu "výrazu_typu_číslo". Je-li "výraz_typu_číslo" záporný, vrací se kladná hodnota. ceiling ( výraz_typu_číslo ) Vrací nejmenší celé číslo větší nebo rovno "výrazu_typu_číslo". exp ( výraz_typu_číslo ) Vrací konstantu 'e' umocněnou na "výraz_typu_číslo". Konstanta 'e' je základ přirozeného logaritmu. Příklad: exp ( 2 ) Výsledek: 7.389056 floor ( výraz_typu_číslo ) Vrací největší celé číslo menší nebo rovno "výrazu_typu_číslo". ln ( výraz_typu_číslo ) Vrací přirozený logaritmus "výrazu_typu_číslo". round ( výraz_typu_číslo ; výraz_typu_celé_číslo ) Vrací "výraz_typu_číslo" zaokrouhlený na nejbližší hodnotu s počtem "výraz_typu_celé_číslo" desetinných míst vpravo od desetinné čárky. Je-li "výraz_typu_celé_číslo" záporný, je "výraz_typu_číslo" zaokrouhlen na nejbližší absolutní hodnotu na tolik míst vlevo od desetinné čárky, kolik udává "výraz_typu_celé_číslo". Zaokrouhlení se provádí před aplikováním formátu dat. Příklad: round (125; -1) Výsledek: 130 sqrt ( výraz_typu_číslo ) Vrací druhou odmocninu z "výrazu_typu_číslo". "Výraz_typu_číslo" nesmí být záporná hodnota. character_length ( výraz_typu_řetězec ) Vrací počet znaků ve "výrazu_typu_řetězec". extract ( výraz_typu_část_data , výraz_typu_datum_a_čas ) Vrací celé číslo představující hodnotu "výraz_typu_část_data" ve "výrazu_typu_datum_a_čas". "Výraz_typu_část_data" může být rok, měsíc, den, hodina, minuta nebo sekunda. Příklad: extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) Výsledek: 2003 Příklad: extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) Výsledek: 16 lower ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" se všemi velkými písmeny převedenými na malá písmena. Tato funkce je použita ve vzorové sestavě Rozpadlá sestava výsledků prodeje v balíku Datový sklad GO (dotaz). octet_length ( výraz_typu_řetězec ) Vrací počet bajtů ve "výrazu_typu_řetězec". position ( výraz_typu_řetězec1 , výraz_typu_řetězec2 ) Vrací celočíselnou hodnotu představující počáteční pozici "výrazu_typu_řetězec1" ve "výrazu_typu_řetězec2". Vrací 0, není-li "výraz_typu_řetězec1" nalezen. substring ( výraz_typu_řetězec ; výraz_typu_celé_číslo1 ; výraz_typu_celé_číslo2 ) Vrací podřetězec "výrazu_typu_řetězec", který začíná na pozici "výraz_typu_celé_číslo1" v délce "výraz_typu_celé_číslo2" znaků nebo až do konce "výrazu_typu_řetězec", je-li "výraz_typu_celé_číslo2" roven -1. První znak ve "výrazu_typu_řetězec" je na pozici 1. substring ( [Sales (analysis)].[Sales staff].[Sales staff].[Sales staff].[Position code]; 3 ; 5 ) Výsledek: Vrací znaky 3 až 7 daných pozičních kódů. trim ( výraz_typu_oříznout_co , výraz_typu_odpovídající_znak , výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" zkrácený o všechny počáteční a koncové prázdné znaky nebo zkrácený o znak určený "výrazem_typu_odpovídající_znak". "Výraz_typu_oříznout_co" může být "leading" (počáteční), "trailing" (koncové) nebo "both" (obojí) (výchozí hodnota). "Výraz_typu_odpovídající_znak" může být prázdný řetězec k odstranění prázdných znaků, nebo lze určit znak, který má být odstraněn. upper ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" se všemi malými písmeny převedenými na velká písmena. stav ( výraz ) Vrací stav "výrazu". Možné hodnoty: 0 - OK, 1 - null, 2 - není k dispozici, 4 - dělení nulou, 8 - přetečení, 16 - zabezpečení, 32 - chyba, 64 - nové, 128 - ukázka, 256 - nevyřízeno.