Funkcije za konvertiranje tipova podataka date2string ( izraz_datuma ) Vraća datum kao niz u YYYY-MM-DD formatu. time2string ( izraz_vremena ) Vraća vrijeme kao niz u HH:MM:SS.FFF formatu. timeTZ2string ( izraz_vremenaTZ ) Vraća vrijeme s vremenskom zonom kao niz u HH:MM:SS.FFF +HHMM ili HH:MM:SS.FFFFFFF -HHMM formatu. Na primjer, -05:30 znači vremensku zonu GMT minus 5 sati i 30 minuta timestamp2string ( izraz_oznake vremena ) Vraća oznaku vremena kao niz znakove u formatu YYYY-MM-DD HH:MM:SS.FFFFFFF. timestampTZ2string ( izraz_vremenske zone_oznake vremena ) Vraća oznaku vremena s vremenskom zonom kao nizom znakova u formatu YYYY-MM-DD HH:MM:SS.FFFFFFF +HHMM ili YYYY-MM-DD HH:MM:SS.FFF -HHMM. DTinterval2string ( izraz_intervala_datuma_i_vremena ) Vraća vremenski interval datuma kao niz znakova u formatu DDDD HH:MM:SS.FFFFFFF ili -DDDD HH:MM:SS.FFF. DTinterval2stringAsTime ( izraz_intervala_datuma_i_vremena ) Vraća vremenski interval datuma kao niz znakova u formatu HHHH:MM:SS.FFFFFFF ili HH:MM:SS.FFF Dani su pretvoreni u sate. int2DTinterval ( cjelobrojni_izraz , izraz_niza znakova ) Pretvara cijeli broj u vremenski interval datuma. "Izraz_niza znakova" označava da "cjelobrojni_izraz" predstavlja: "ns" = nanosekunde, "s" = sekunde (default), "m" = minute, "h" = sate, "d" = dane. Primjer: int2DTinterval (1020,"h") Rezultat: 42 dana 12 sati Primjer: int2DTinterval (1020,"s") Rezultat: 17 minuta mapNumberToLetter ( izraz_niza znakova , cjelobrojni_izraz ) Dodaje "cjelobrojni_izraz" u "izraz_niza znakova". Primjer: mapNumberToLetter ( 'a' , 1 ) Rezultat: b nullif ( izraz_niza znakova1 , izraz_niza znakova2 ) Vraća prazno ako je "izraz_niza znakova1" jednak "izrazu_niza znakova2" (neosjetljivo na velika i mala slova), inače vraća "izraz_niza znakova1". mod ( cjelobrojni_izraz1 , cjelobrojni_izraz2 ) Vraća cjelobrojnu vrijednost koja predstavlja ostatak (modulo) od "cjelobrojni_izraz1" / "cjelobrojni_izraz2". power ( numerički_izraz1 , numerički_izraz2 ) Vraća "numerički_izraz1" na potenciju "numerički_izraz2". Primjer: potencija ( 3 , 2 ) Rezultat: 9 int2YMinterval ( cjelobrojni_izraz , izraz_niza znakova ) Pretvara "cjelobrojni_izraz" u interval godina mjesec. "Izraz_niza znakova označava što predstavlja "cjelobrojni_izraz": "y" = godine, "m" = mjeseci (default). YMinterval2string ( izraz_intervala_godina_mjesec ) Vraća "izraz_intervala_godina_mjesec" kao niz znakova u formatu(YY MM) or -(YY MM). number2string ( numerički_izraz ) Pretvara "numerički_izraz u niz znakova, koristeći specifikator formata %g (C/C++ sintaksa). string2date ( izraz_niza znakova ) Vraća "izraz_niza znakova" kao datum u formatu YYYY-MM-DD. Vraća "izraz niza znakova" kao interval godina mjesec u formatu [-]YY MM. string2YMinterval ( izraz_niza znakova ) Vraća "izraz_niza znakova" kao interval datuma i vremena u [-]DD HH:MM[:SS[.FFF]] formatu. string2DTinterval ( izraz_niza znakova ) string2time ( izraz_niza znakova ) Vraća "izraz_niza znakova" kao vrijeme u formatu HH:MM:SS.FFFFFFF. string2timestamp ( izraz_niza znakova ) Vraća "izraz_niza znakova" kao oznaku vremena u formatu YYYY-MM-DD [T|t|[prazno mjesto]+] HH:MM:SS.FFFFFFF. string2timestampTZ ( izraz_niza znakova ) Vraća "izraz_niza znakova" u YYYY-MM-DD HH:MM:SS.FFFFFFF +HHMM ili YYYY-MM-DD [T|t] HH:MM:SS.FFF -HHMM formatu. string2double ( izraz_niza znakova ) Vraća broj s pomičnim zarezom. "izraz_niza znakova" ima sljedeći oblik:"[prazno mjesto] [predznak] [znamenke] [znamenke] [ {d|D|e|E }[predznak]znamenke]" string2int64 ( izraz_niza znakova ) Vraća dugačak cijeli broj. "Izraz_niza znakova" ima sljedeći oblik:"[prazno mjesto] [{+|-}] [znamenke]" string2int32 ( izraz_niza znakova ) Vraća cijeli broj. "Izraz_niza znakova" ima sljedeći oblik:"[prazno mjesto] [{+|-}] [znamenke]" date2timestamp ( izraz_datuma ) Pretvara "izraz_datuma" u oznaku vremena. Vremenski dio oznake vremena bit će jednak nuli. timestamp2date ( izraz_oznake vremena" ) Pretvara "izraz_oznake vremena" u datum. Vremenski dio oznake vremena će se zanemariti. timestamp2timestampTZ ( izraz_oznake vremena ) Pretvara "izraz_oznake vremena" u oznaku vremena s vremenskom zonom. Dio oznake vremena s vremenskom zonom što označava pomak, bit će nula. timestampTZ2timestamp ( izraz_vremenske zone_oznake vremena ) Pretvara "izraz_vremenske zone_oznake vremena" u oznaku vremena. Pomak oznake vremena s vremenskom zonom će se zanemariti. date2timestampTZ ( izraz_datuma ) Pretvara "izraz_datuma" u oznaku vremena s vremenskom zonom. Dijelovi oznake vremena što označavaju vrijeme i vremensku zonu bit će jednaki nuli. timestampTZ2date ( izraz_vremenske zone_oznake vremena ) Pretvara "izraz_vremenske zone_oznake vremena" datum. Dijelovi oznake vremena što označavaju vrijeme i vremensku zonu će se zanemariti. _add_days ( izraz_oznake vremena , cjelobrojni_izraz ) Vraća datum i vrijeme koje rezultira iz dodavanja dana iz "cjelobrojnog_izraza" "izrazu_oznake vremena". Primjer: _add_days ( 2007-01-14 00:00:00.000 , 3 ) Rezultat: 2007-01-17 00:00:00.000 _add_months ( izraz_oznake vremena , cjelobrojni_izraz ) Vraća datum i vrijeme koje rezultira iz dodavanja mjeseci iz "cjelobrojnog_izraza" "izrazu_vremenske oznake". _add_years ( izraz_vremenske oznake , cjelobrojni_izraz ) Vraća datum i vrijeme koje rezultira iz dodavanja godina iz "cjelobrojnog_izraza" "izrazu_vremenske oznake" _age ( izraz_oznake vremena ) Vraća broj oduzimajući "izraz_vremenske oznake" od današnjeg datuma. Primjer: _age ([Upit1].[Datum]), gdje je [Upit1].[Datum] 3.ožujka 2004. i danas je 7. srpnja 2009. Rezultat: 50,406, gdje je 5 broj godina, 04 je broj mjeseci, a 06 je broj dana. _day_of_week ( izraz_oznake vremena , cjelobrojni_izraz ) Vraća dan u tjednu (između 1 i 7) za "izraz_oznake vremena" gdje "cjelobrojni_izraz" označava koji dan u tjednu je dan 1. Da utvrdite "cjelobrojni izraz", izaberite dan u tjednu i brojite od ponedjeljka; na primjer, ako izaberete srijedu, "cjelobrojni_izraz" će biti 3 jer je srijeda treći dan od ponedjeljka. Primjer: _day_of_week ( 2009-01-01 , 7 ), gdje 7 znači da je nedjelja prvi dan u tjednu. Rezultat: 5 _day_of_year ( izraz_oznake vremena ) Vraća redni broj za dan u godini u "izrazu_oznake vremena" (1 do 366). Poznat i kao julijanski dan. _days_between( izraza_oznake vremena1 , izraza_oznake vremena2 ) Vraća pozitivni ili negativni broj koji predstavlja broj dana između "izraza_oznake vremena1" i "izraza_oznake vremena2". Ako je "izraz_oznake vremena1" < "izraza_oznake vremena2", rezultat će biti negativni broj. _days_to_end_of_month ( Izraz_oznake vremena ) Vraća broj koji predstavlja broj dana preostalih u mjesecu predstavljenom"izrazom_oznake vremena". _first_of_month ( izraz_oznake vremena ) Vraća datum koji je prvi dan mjeseca predstavljenog "izrazom_oznake vremena". Primjer: _first_of_month ( 2009-05-04 00:00:00.000 ) Rezultat: Vraća 2009-05-01 00:00:00.000 Primjer: _first_of_month (tekući_datum) Rezultat: Vraća 1. srpnja 2009. ako je tekući datum 1.srpnja 2009. _last_of_month ( izraz_oznake vremena ) Vraća datum koji je zadnji dan mjeseca predstavljenog "izrazom_oznake vremena". _make_timestamp ( cjelobrojni_izraz1 , cjelobrojni_izraz2 , cjelobrojni_izraz3 ) Vraća oznaku vremena napravljenu od "cjelobrojnog_izraza1" (godina), "cjelobrojnog_izraza2" (mjesec) i "cjelobrojnog_izraza3 (dan). Vremenski dio po defaultu je 00:00:00.000. _months_between ( izraza_vremenske oznake1 , izraza_vremenske oznake2 ) Vraća pozitivni ili negativni broj koji predstavlja broj mjeseci između "izraza_vremenske oznake1" i "izraza_ vremenske oznake2". Ako je "izraz_oznake vremena1" < "izraza_oznake vremena2", rezultat će biti negativni broj. _week_of_year ( izraz_vremenske oznake ) Vraća broj tjedna (1-53) u godini za "izraz_vremenske oznake". Prema ISO 8601, tjedan u godini je prvi tjedan koji sadrži četvrtak, što je ekvivalentno prvom tjednu koji sadrži 4.siječnja. Tjedan počinje u ponedjeljak (dan 1) i završava u nedjelju (dan 7). _years_between ( izraz_oznake vremena1 , izraz_oznake vremena2 ) Vraća pozitivni ili negativni cijeli broj koji predstavlja broj godina između "izraza_oznake vremena1" i "izraza_oznake vremena2". Ako je "izraz_oznake vremena1" < "izraza_oznake vremena2", vraća se negativna vrijednost. _ymdint_između( izraza_oznake vremena1 , izraza_oznake vremena2 ) Vraća broj koji predstavlja razliku između "izraza_vremenske oznake1" i "izraza_vremenske oznake2". Ova vrijednost ima oblik YYMMDD, gdje YY predstavlja broj godina, MM predstavlja broj mjeseci, a DD predstavlja broj dana. Primjer: _ymdint_između ( [Upit1].[Datum (datum zaključivanja) ] , [Upit1].[Datum (datum isporuke)] ), gdje je [Upit2].[Datum (datum zaključivanja)] 20.veljače 2004.i[Upit1].[Datum (datum isporuke)] je 19.siječnja 2004. Rezultat: 101, gdje je 1 broj mjeseci, a 01 je broj dana. abs ( numerički_izraz ) Vraća apsolutnu vrijednost "numeričkog_izraza". Ako je "numerički_izraz" negativan, vraća se pozitivna vrijednost. ceiling ( numerički_izraz ) Vraća najmanji cijeli broj koji je veći ili jednak "numeričkom_izrazu". exp ( numerički_izraz ) Vraća konstantu 'e' podignutu na potenciju "numeričkog_izraza". Konstanta 'e' je baza prirodnog logaritma. Primjer:: exp ( 2 ) Rezultat: 7.389056 floor ( numerički_izraz ) Vraća najveći cijeli broj manji ili jednak "numeričkom_izrazu". ln ( numerički_izraz ) Vraća prirodni logaritam "numeričkog_izraza". round ( numerički_izraz , cjelobrojni_izraz ) Vraća "numerički_izraz" zaokružen na najbližu vrijednost značajnim znakovima "cjelobrojnog_izraza" desno od decimalnog zareza. Ako je "cjelobrojni_izraz" negativan, "numerički_izraz" se zaokružuje na najbližu vrijednost s "cjelobrojnom_vrijednošću" značajnih znamenaka lijevo od decimalnog zareza. Zaokruživanje se dešava prije nego što se primjeni formatiziranje podataka. Primjer: round (125, -1) Rezultat: 130 sqrt ( numerički_izraz ) Vraća kvadratni korijen "numeričkog_izraza". "Numerički_izraz" ne smije biti negativna vrijednost. character_length ( izraz_niz znakova ) Vraća vrijednost znakova u "izrazu_niza znakova". extract ( izraz_datumskog_dijela , izraz_datuma ) Vraća cijeli broj koji predstavlja vrijednost "izraza_ datumski_dio"u "izrazu_datum i vrijeme". "Izraz_datumski_dio" može biti godina, mjesec, dan, sat, minuta ili sekunda. Primjer: extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) Rezultat: 2003 Primjer: extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) Rezultat: 16 lower ( izraz_niza znakova ) Vraća "izraz_niza znakova" sa svim velikim slovima pretvorenim u mala. Ova funkcija se pojavljuje u uzorku izvještaja Bursted Sales Performance Report u paketu GO Data Warehouse (upit). octet_length ( izraz_niza znakova ) Vraća broj bajtova u "izrazu_niza znakova". position ( izraz_niza znakova1 , izraz_niza znakova2 ) Vraća cjelobrojnu vrijednost koja predstavlja početno mjesto "izraza_niza znakova1" u "izrazu_nizu znakova2". vraća 0 ako "izraz_niza znakova" nije nađen. substring ( izraz_niza znakova , cjelobrojni_izraz1 , cjelobrojni_izraz2 ) Vraća podniz "izraza_ niza znakova" koji počinje na mjestu "cjelobrojni_izraz1" za znakove "cjelobrojnog_izraza2" ili na kraju "izraza_niza znakova" ako je "cjelobrojni_izraz2" jednak -1. Prvi znak u "izrazu_niza znakova" je na poziciji 1. substring ( [Prodaja (analiza].[Prodajno osoblje ].[prodajno osoblje].[Prodajno osoblje].[Kod radnog mjesta], 3 , 5 ) Rezultat: Vraća znakove od trećeg do sedmog mjesta u kodu radnog mjesta. trim ( izraz_što_podesiti , izraz_znaka_podudaranja , izraz_niza_znakova ) Vraća "izraz_niza znakova" bez vodećih i pratećih praznina ili znaka kojeg navodi "izraz_znaka_podudaranja". "Izraz_što_podesiti" može biti "vodeći", "prateći" ili "oboje" (default). "Izraz_znaka_podudaranja" može biti prazan niz znakova za rezanje praznina ili može navesti znak koji se reže. upper ( izraz_niza znakova ) Vraća "izraz_niza znakova" sa svim malim slovima pretvorenim u velika. status ( expression ) Vraća status za "expression". Moguće vrijednosti su: 0 - OK, 1 - null, 2 - nije dostupno, 4 - dijeljenje s nulom, 8 - preljev, 16 - sigurnost, 32 - greška, 64 - novo, 128 - primjer, 256 - u tijeku.