Funkcije za pretvarjanje tipov podatkov date2string ( date_expression ) Vrne datum kot niz v obliki YYYY-MM-DD. time2string ( time_expression ) Vrne čas kot niz v obliki HH:MM:SS.FFF. timeTZ2string ( timeTZ_expression ) Vrne čas s časovnim žigom kot niz v obliki HH:MM:SS.FFF +HHMM ali HH:MM:SS.FFFFFFF -HHMM. -05:30 na primer pomeni časovni pas GMT minus 5 ur in 30 minut timestamp2string ( timestamp_expression ) Vrne časovni žig kot niz v obliki YYYY-MM-DD HH:MM:SS.FFFFFFF. timestampTZ2string ( timestamp_time_zone_expression ) Vrne časovni žig s časovnim pasom kot nizom v obliki YYYY-MM-DD HH:MM:SS.FFFFFFF +HHMM ali YYYY-MM-DD HH:MM:SS.FFF -HHMM. DTinterval2string ( date_time_interval_expression ) Vrne interval datuma-časa kot niz v obliki DDDD HH:MM:SS.FFFFFFF ali -DDDD HH:MM:SS.FFF. DTinterval2stringAsTime ( date_time_interval_expression ) Vrne interval datuma-časa kot niz v obliki HHHH:MM:SS.FFFFFFF ali HH:MM:SS.FFF. Dnevi so pretvorjeni v ure. int2DTinterval ( integer_expression , string_expression ) Pretvori celo število v interval datum čas. "String_expression" podaja, kaj predstavlja "integer_expression": "ns" = nanosekunde, "s" = sekunde (privzeto), "m" = minute, "h" = ure, "d" = dnevi. Primer: int2DTinterval (1020,"h") Rezultat: 42 dni 12 ur Primer: int2DTinterval (1020,"s") Rezultat: 17 minut mapNumberToLetter ( string_expression , integer_expression ) Doda "integer_expression" v "string_expression". Primer: mapNumberToLetter ( 'a' , 1 ) Rezultat: b nullif ( string_expression1 , string_expression2 ) Vrne ničelno vrednost, če je "string_expression1" enak kot "string_expression2" (nerazlikovanje med malimi in velikimi črkami), v nasprotnem primeru pa "string_expression1". mod ( integer_expression1 , integer_expression2 ) Vrne celoštevilsko vrednost, ki predstavlja preostanek (modulo) od "integer_expression1" / "integer_expression2". power ( numeric_expression1 , numeric_expression2 ) Vrne "numeric_expression1" na potenco "numeric_expression2". Primer: power ( 3 , 2 ) Rezultat: 9 int2YMinterval ( integer_expression , string_expression ) Pretvori "integer_expression" v interval leto mesec. "String_expression" podaja, kaj predstavlja "integer_expression": "y" = leta, "m" = meseci (privzeto). YMinterval2string ( year_month_interval_expression ) Vrne "year_month_interval_expression" kot niz v obliki (YY MM) ali -(YY MM). number2string ( numeric_expression ) Pretvori "numeric_expression" v niz z uporabo označevalca obliki %g (skladnja C/C++). string2date ( string_expression ) Vrne "string_expression" kot datum v obliki YYYY-MM-DD. Vrne "string_expression" kot interval Leto Mesec v obliki [-]YY MM. string2YMinterval ( string_expression ) Vrne "string_expression" kot interval datum čas v obliki [-]DD HH:MM[:SS[.FFF]]. string2DTinterval ( string_expression ) string2time ( string_expression ) Vrne "string_expression" kot čas v obliki HH:MM:SS.FFFFFFF. string2timestamp ( string_expression ) Vrne "string_expression" kot časovni žig v obliki YYYY-MM-DD [T|t|[white space]+] HH:MM:SS.FFFFFFF. string2timestampTZ ( string_expression ) Vrne "string_expression" v obliki YYYY-MM-DD HH:MM:SS.FFFFFFF +HHMM ali YYYY-MM-DD [T|t] HH:MM:SS.FFF -HHMM. string2double ( string_expression ) Vrne število s plavajočo vejico. "String_expression" ima naslednjo obliko: "[whitespace] [sign] [digits] [digits] [ {d|D|e|E }[sign]digits]" string2int64 ( string_expression ) Vrne dolgo celo število. "String_expression" ima naslednjo obliko: "[whitespace] [{+|-}] [digits]" string2int32 ( string_expression ) Vrne celo število. "String_expression" ima naslednjo obliko: "[whitespace] [{+|-}] [digits]" date2timestamp ( date_expression ) Pretvori "date_expression" v časovni žig. Časovni del časovnega žiga je enak nič. timestamp2date ( timestamp_expression ) Pretvori "timestamp_expression" v datum. Časovni del časovnega žiga bo prezrt. timestamp2timestampTZ ( timestamp_expression ) Pretvori "timestamp_expression" v časovni žig s časovnim pasom. Del premestitve časovnega žiga s časovnim pasom bo nič. timestampTZ2timestamp ( timestamp_time_zone_expression ) Pretvori "timestamp_time_zone_expression" v časovni žig. Del premestitve časovnega žiga s časovnim pasom bo prezrt. date2timestampTZ ( date_expression ) Pretvori "date_expression" v časovni žig s časovnim pasom. Del časa in časovnega pasa v časovnem žigu bosta nič. timestampTZ2date ( timestamp_time_zone_expression ) Pretvori "timestamp_time_zone_expression" v datum. Del časa in časovnega pasu v časovnem žigu bosta prezrta. _add_days ( timestamp_expression , integer_expression ) Vrne datum-čas, kije rezultat dodajanja "integer_expression" dni v "timestamp_expression". Primer: _add_days ( 2007-01-14 00:00:00.000 , 3 ) Rezultat: 2007-01-17 00:00:00.000 _add_months ( timestamp_expression , integer_expression ) Vrne datum-čas, ki je rezultat dodajanja "integer_expression" mesecev v "timestamp_expression". _add_years ( timestamp_expression , integer_expression ) Vrne datum-čas, ki je rezultat dodajanja "integer_expression" let v "timestamp_expression". _age ( timestamp_expression ) Vrne število, tako da odšteje "timestamp_expression" od današnjega datuma. Primer: _age ([Query1].[Date]), where [Query1].[Date] je 2. marec 2004, danes pa je 8. julij 2009 Rezultat: 50,406, kjer je 5 število let, 04 število mesecev, 06 pa število dni. _day_of_week ( timestamp_expression , integer_expression ) Vrne dan v tednu (med 1 in 7) za "timestamp_expression", kjer "integer_expression" kaže, kateri dan v tednu je dan 1. Če želite določiti "integer_expression", izberite dan v tednu in štejte od ponedeljka; če na primer izberete sredo, bo imel "integer_expression" vrednost 3, ker je sreda tretji dan od ponedeljka. Primer: _day_of_week ( 2009-01-01 , 7 ), kjer 7 pomeni, da je nedelja prvi dan v tednu. Rezultat: 5 _day_of_year ( timestamp_expression ) Vrne ordinato za dan v letu v "timestamp_ expression" (od 1 do 366). To se imenuje tudi julijanski dan. _days_between ( timestamp_expression1 , timestamp_expression2 ) Vrne pozitivno ali negativno število, ki predstavlja število dni med "timestamp_expression1" in "timestamp_expression2". Če "timestamp_expression1" < "timestamp_expression2", je rezultat negativno število. _days_to_end_of_month ( timestamp_expression ) Vrne število, ki predstavlja število dni, preostalih v mesecu, predstavljenih s "timestamp_expression". _first_of_month ( timestamp_expression ) Vrne datum-čas, ki je prvi dan v mesecu, predstavljen s "timestamp_expression". Primer: _first_of_month ( 2009-05-04 00:00:00.000 ) Rezultat: Vrne 2009-05-01 00:00:00.000 Primer: _first_of_month (current_date) Rezultat: Vrne 1. julij 2009, če je trenutni datum 30 julij 2009. _last_of_month ( timestamp_expression ) Vrne datum-čas, ki je zadnji dan v mesecu, predstavljen s "timestamp_expression". _make_timestamp ( integer_expression1 ; integer_expression2 ; integer_expression3 ) Vrne časovni žig, izdelan iz "integer_expression1" (leto), "integer_expression2" (mesec) in "integer_expression3" (dan). Časovni del ima privzeto vrednost 00:00:00.000. _months_between ( timestamp_expression1 ; timestamp_expression2 ) Vrne pozitivno ali negativno število, ki predstavlja število mesecev med "timestamp_expression1" in "timestamp_expression2". Če "timestamp_expression1" < "timestamp_expression2", je rezultat negativno število. _week_of_year ( timestamp_expression ) Vrne številko tedna (1-53) leta za "timestamp_expression". Glede na ISO 8601 je teden 1 v letu prvi teden, ki vsebuje četrtek, kar je enako prvemu tednu, ki vsebuje 4. januar. Teden se začne v ponedeljek (da 1) in konča v nedeljo (dan 7). _years_between ( timestamp_expression1 , timestamp_expression2 ) Vrne pozitivno ali negativno celo število, ki predstavlja število let med "timestamp_expression1" in "timestamp_expression2". Če je "timestamp_expression1" < "timestamp_expression2", je vrnjena negativna vrednost. _ymdint_between ( timestamp_expression1 , timestamp_expression2 ) Vrne število, ki predstavlja razliko med "timestamp_expression1" in "timestamp_expression2". Ta vrednost ima obliko YYMMDD, kjer predstavlja YY število let, MM število mesecev in DD število dni. Primer: _ymdint_between ( [Query1].[Date (close date)] , [Query1].[Date (ship date)] ), kjer je [Query1].[Date (close date)] 20 februar 2004, [Query1].[Date (ship date)] pa 19. januar 2004. Rezultat: 101, kjer je 1 število mesecev, 01 pa število dni. abs ( numeric_expression ) Vrne absolutno vrednost "numeric_expression". Če je "numeric_expression" negativno število, je vrnjena pozitivna vrednost. ceiling ( numeric_expression ) Vrne najmanjše celo število, ki je večje ali enako "numeric_expression". exp ( numeric_expression ) Vrne konstanto 'e' na potenco "numeric_expression". Konstanta 'e' je osnova naravnega logaritma. Primer: exp ( 2 ) Rezultat: 7.389056 floor ( numeric_expression ) Vrne največje celo število, ki je manjše ali enako "numeric_expression". ln ( numeric_expression ) Vrne naravni logaritem "numeric_expression". round ( numeric_expression ; integer_expression ) Vrne "numeric_expression", zaokrožen na najbližjo vrednost s pomembnimi števkami "integer_expression" na desni strani decimalne vejice. Če je "integer_expression" negativen, je "numeric_expression" zaokrožen na najbližjo absolutno vrednost s pomembnimi števkami "integer_expression" na levi strani decimalne vejice. Zaokroževanje se izvede pred uveljavljanjem oblikovanja podatkov. Primer: round (125; -1) Rezultat: 130 sqrt ( numeric_expression ) Vrne kvadratni koren "numeric_expression". "Numeric_expression" ne sme biti negativna vrednost. character_length ( string_expression ) Vrne število znakov v "string_expression". extract ( date_part_expression , datetime_expression ) Vrne celo število, ki predstavlja vrednost "date_part_expression" v "datetime_expression". "Date_part_expression" je lahko leto, mesec, dan, ura, minuta ali sekunda. Primer: extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) Rezultat: 2003 Primer: extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) Rezultat: 16 lower ( string_expression ) Vrne "string_expression", kjer so vse velike črke pretvorjene v male. Ta funkcija se pojavi v vzorčnem poročilu Razmnoževalno poročilo prodajne uspešnosti (Bursted Sales Performance Report) v paketu Podatkovno skladišče GO (poizvedba). octet_length ( string_expression ) Vrne število bajtov v "string_expression". position ( string_expression1 ; string_expression2 ) Vrne celoštevilsko vrednost, ki predstavlja začetni položaj "string_expression1" v "string_expression2". Vrne 0, če "string_expression1" ni najden. substring ( string_expression ; integer_expression1 ; integer_expression2 ) Vrne podniz "string_expression", ki se začne na položaju "integer_expression1" za "integer_expression2" znakov, ali na koncu "string_expression", če je "integer_expression2" enak -1. Prvi znak v izrazu "string_expression" je na položaju 1. substring ( [Sales (analysis)].[Sales staff].[Sales staff].[Sales staff].[Position code], 3 , 5 ) Rezultat: vrne znake od 3 do 7 kod položajev. trim ( trim_what_expression , match_character_expression , string_expression ) Vrne "string_expression", v katerem so vsi začetni in končni presledki obrezani ali v katerem je obrezan znak, ki ga podaja "match_character_expression". "Trim_what_expression" je lahko "leading", "trailing" ali "both" (privzeto). "Match_character_expression" je lahko prazen niz za obrezavo presledkov ali lahko podaja znak, ki bo obrezan. upper ( string_expression ) Vrne "string_expression", kjer so vse male črke pretvorjene v velike. status ( expression ) Vrne status izraza "expression". Možne vrednosti so: 0 - V redu, 1 - ničelno, 2 - ni na voljo, 4 - deljenje z nič, 8 - prekoračitev, 16 - varnost, 32 - napaka, 64 - novo, 128 - vzorec, 256 - čakanje.