Funcţii de conversie a tipurilor de date date2string ( expresie_date ) Returnează o dată ca şir în formatul AAAA-LL-ZZ. time2string ( expresie_timp ) Returnează o oră ca şir în formatul HH:MM:SS.FFF. timeTZ2string ( expresie_timpTZ ) Returnează o oră cu fus orar ca şir în format HH:MM:SS.FFF +HHMM sau HH:MM:SS.FFFFFFF -HHMM. De exemplu, -05:30 înseamnă un fus orar GMT minus 5 ore şi 30 de minute timestamp2string ( expresie_timbrutemporal ) Returnează o amprentă de timp ca şir, în formatul AAAA-LL-ZZ HH:MM:SS.FFFFFFF. timestampTZ2string ( expresie_fus_orar_timbrutemporal ) Returnează o valoare amprentă de timp cu fusul orar ca şir în formatul AAAA-LL-ZZ HH:MM:SS.FFFFFFF +HHMM sau AAAA-LL-ZZ HH:MM:SS.FFF -HHMM. DTinterval2string ( expresie_interval_timp_dată ) Returnează un interval dată-oră, ca şir în formatul ZZZZ HH:MM:SS.FFFFFFF sau -ZZZZ HH:MM:SS.FFF. DTinterval2stringAsTime ( expresie_interval_timp_dată ) Returnează un interval dată-oră ca şir în format HHHH:MM:SS.FFFFFFF sau în format HH:MM:SS.FFF. Zilele sunt transformate în ore. int2DTinterval ( expresie_întreg , expresie_şir ) Transformă un număr întreg într-un interval dată-oră. "Expresie_şir" specifică ce reprezintă "expresie_întreg": "ns" = nanosecunde, "s" = secunde (implicit), "m" = minute, "h" = ore, "d" = zile. Exemplu: int2DTinterval (1020,"h") Rezultat: 42 zile 12 ore Exemplu: int2DTinterval (1020,"s") Rezultat: 17 minute mapNumberToLetter ( expresie_şir , expresie_întreg ) Adaugă "expresie_întreg" la "expresie_şir". Exemplu: mapNumberToLetter ( 'a' , 1 ) Rezultat: b nullif ( expresie1_şir , expresie2_şir ) Returnează NULL dacă "expresie1_şir" este egală cu "expresie2_şir" (insensibil la litere mari sau mici), iar în caz contrar returnează "expresie1_şir". mod ( expresie1_întreg , expresie2_întreg ) Returnează o valoare întreagă reprezentând restul împărţirii (modulo) "expresie1_întreg" / "expresie2_întreg". power ( expresie1_numerică , expresie2_numeric ) Returnează "expresie1_numerică" ridicată la puterea "expresie2_numerică". Exemplu: power ( 3 , 2 ) Rezultat: 9 int2YMinterval ( expresie_întreg , expresie_şir ) Transformă "expresie_întreg" într-un interval ani-luni. "Expresie_şir" specifică ce reprezintă "expresie_întreg": "y" = ani, "m" = luni (implicit). YMinterval2string ( expresie_interval_lună_an ) Returnează "expresie_interval_an_lună" ca şir în format (AA LL) sau -(AA LL). number2string ( expresie_numerică ) Transformă "expresie_numerică" într-un şir folosind specificatorul de format %g (din sintaxa C/C++). string2date ( expresie_şir ) Returnează "expresie_şir" ca dată în formatul AAAA-LL-ZZ. Returnează "expresie_şir" ca interval An-Lună în formatul [-]AA LL. string2YMinterval ( expresie_şir ) Returnează "expresie_şir" ca interval dată-oră în formatul [-]ZZ HH:MM[:SS[.FFF]]. string2DTinterval ( expresie_şir ) string2time ( expresie_şir ) Returnează "expresie_şir" ca oră în formatul HH:MM:SS.FFFFFFF. string2timestamp ( expresie_şir ) Returnează "expresie_şir" ca amprentă de timp în formatul AAAA-LL-ZZ [T|t|[spaţiu alb]+] HH:MM:SS.FFFFFFF. string2timestampTZ ( expresie_şir ) Returnează "expresie_şir" în formatul AAAA-LL-ZZ HH:MM:SS.FFFFFFF +HHMM sau AAAA-LL-ZZ [T|t] HH:MM:SS.FFF -HHMM. string2double ( expresie_şir ) Returnează un număr cu virgulă mobilă. "expresie_şir" are forma următoare: "[spaţiu] [cifre] [cifre] [ {d|D|e|E }[semn]cifre]" string2int64 ( expresie_şir ) Returnează un număr întreg lung. "expresie_şir" are forma următoare: "[spaţiu] [{+|-}] [cifre]" string2int32 ( expresie_şir ) Returnează un număr întreg. "expresie_şir" are forma următoare: "[spaţiu] [{+|-}] [cifre]" date2timestamp ( expresie_dată ) Transformă "expresie_dată" în amprentă de timp. Partea orei din amprenta de timp va fi egală cu zero. timestamp2date ( expresie_amprentă de timp ) Transformă "expresie_amprentă_timp" în dată. Partea orei din amprenta de timp va fi ignorată. timestamp2timestampTZ ( expresie_amprentă de timp ) Transformă "expresie_amprentă_timp" în amprentă de timp cu fus orar. Partea de decalaj a amprentei de timp cu fus orar va fi zero. timestampTZ2timestamp ( expresie_fus_orar_amprentă de timp ) Transformă "expresie_amprentă_fus_orar" în amprentă de timp. Partea de decalaj a amprentei de timp cu fus orar va fi ignorată. date2timestampTZ ( expresie_dată ) Transformă "expresie_dată" în amprentă de timp cu fus orar. Ora şi părţile fusului orar ale amprentei de timp vor fi egale cu zero. timestampTZ2date ( expresie_fus_orar_amprentă de timp ) Transformă "expresie_amprentă_fus_orar" în dată. Ora şi părţile fusului orar ale amprentei de timp vor fi ignorate. _add_days ( expresie_amprentă de timp , expresie_întreg ) Returnează amprenta de timp rezultată prin adăugarea unui număr de "expresie_întreg" zile la "expresie_amprentă_timp". Exemplu: _add_days ( 2007-01-14 00:00:00.000 , 3 ) Rezultat: 2007-01-17 00:00:00.000 _add_months ( expresie_amprentă de timp , expresie_întreg ) Returnează amprenta de timp rezultată prin adăugarea unui număr de "expresie_întreg" luni la "expresie_amprentă_timp". _add_years ( expresie_amprentă_timp , expresie_întreg ) Returnează amprenta de timp rezultată prin adăugarea unui număr de "expresie_întreg" ani la "expresie_amprentă_timp". _age ( expresie_amprentă_timp ) Returnează un număr după ce se scade "expresie_amprentă_timp" din data curentă. Exemplu: _age ([Interogare1].[Data]), unde [Interogare1].[Data] este 2 martie 2004, iar data curentă este 8 iulie 2009 Rezultat: 50.406, unde 5 este numărul de ani, 04 numărul de luni, iar 06 numărul de zile. _day_of_week ( expresie_amprentă_timp , expresie_întreg ) Returnează ziua săptămânii (între 1 şi 7) pentru "expresie_amprentă_timp", unde "expresie_întreg" indică ce zi a săptămânii este ziua 1. Pentru a determina "expresie_întreg", alegeţi ziua din săptămână şi număraţi de la luni; de exemplu, dacă alegeţi miercuri, "expresie_întreg" va fi 3, deoarece miercuri este a treia zi de la luni. Exemplu: _day_of_week ( 2009-01-01 , 7 ), unde 7 înseamnă că duminică esdte prima zi a săptămânii. Rezultat: 5 _day_of_year ( expresie_amprentă_timp ) Returnează ordinalul pentru ziua anului din "expresie_amprentă_timp" ( de la 1 la 366). Cunoscută şi ca zi iuliană. _days_between ( expresie1_amprentă_timp , expresie2_amprentă_timp ) Returnează un număr pozitiv sau negativ care reprezintă numărul zilelor dintre "expresie1_amprentă_timp" şi "expresie2_amprentă_timp". Dacă "expresie1_amprentă_timp" < "expresie2_amprentă_timp", rezultatul va fi un număr negativ. _days_to_end_of_month ( expresie_amprentă_timp ) Returnează un număr reprezentând numărul de zile rămase din lună, exprimat prin "expresie_amprentă_timp". _first_of_month ( expresie_amprentă_timp ) Returnează acea amprentă care este prima zi a lunii căreia îi aparţine "expresie_amprentă_timp". Exemplu: _first_of_month ( 2009-05-04 00:00:00.000 ) Rezultat: Se returnează 2009-05-01 00:00:00.000 Exemplu: _first_of_month (data curentă) Rezultat: Se returnează 1 iulie 2009 dacă data curentă este 30 iulie 2009. _last_of_month ( expresie_amprentă_timp ) Returnează acea amprentă care este ultima zi a lunii căreia îi aparţine "expresie_amprentă_timp". _facere_amprentă_timp( expresie1_întreg , expresie2_întreg , expresie3_întreg ) Returnează o amprentă de timp construită din "expresie1_întreg" (anul), "expresie2_întreg" (luna) şi "expresie3_întreg" (ziua). Fragmentul orar are valoarea implicită 00:00:00.000. _months_between ( expresie1_amprentă_timp , expresie2_amprentă_timp ) Returnează un număr pozitiv sau negativ care reprezintă numărul lunilor dintre "expresie1_amprentă_timp" şi "expresie2_amprentă_timp". Dacă "expresie1_amprentă_timp" < "expresie2_amprentă_timp", rezultatul va fi un număr negativ. _week_of_year ( expresie_amprentă_timp ) Returnează numărul săptămânii (1-53) din an, reprezentat de "expresie_amprentă_timp". Conform ISO 8601, săptămâna 1 a anului este prima săptămână care conţine o zi de joi, care este echivalentă cu prima săptămână care conţine 4 ianuarie. Săptămâna începe cu o zi de luni (ziua 1) şi se termină cu duminică (ziua 7). _years_between ( expresie1_amprentă_timp , expresie2_amprentă_timp ) Returnează un număr întreg pozitiv sau negativ care reprezintă numărul anilor dintre "expresie1_amprentă_timp" şi "expresie2_amprentă_timp". Dacă "expresie1_amprentă_timp" < "expresie2_amprentă_timp", va fi returnată o valoare negativă. _ymdint_between ( expresie1_amprentă_timp , expresie2_amprentă_timp ) Returnează un număr care reprezintă diferenţa dintre "expresie1_amprentă_timp" şi "expresie2_amprentă_timp". Valoarea are forma AALLZZ, unde AA reprezintă numărul de ani, LL reprezintă numărul de luni, iar ZZ reprezintă numărul de zile. Exemplu: _ymdint_between ( [Interogare1].[Dată (dată închidere)] , [Interogare1].[Dată (dată expediere)] ), unde [Interogare1].[Dată (dată închidere)] este 20februarie 2004, iar[Interogare1].[Dată (dată expediere)] este 19 ianuarie 2004. Rezultat: 101, unde 1 este numărul de luni, iar 01 este numărul de zile. abs ( expresie_numerică ) Returnează valoarea absolută a "expresie_numerică". Dacă "expresie_numerică" este negativă, este returnată o valoare pozitivă. ceiling ( expresie_numerică ) Returnează cel mai mic întreg mai mare sau egal cu "expresie_numerică". exp ( expresie_numerică ) Returnează constanta 'e' ridicată la puterea "expresie_numerică". Constanta 'e' este baza logaritmului natural. Exemplu: exp ( 2 ) Rezultat: 7,389056 floor ( expresie_numerică ) Returnează cel mai mare întreg mai mic sau egal cu "expresie_numerică". ln ( expresie_numerică ) Returnează logaritmul natural din "expresie_numerică". round ( expresie_numerică , expresie_întreg ) Returnează "expresie_numerică" rotunjită la valoarea cea mai apropiată cu "expresie_întreg" poziţii valabile la dreapta virgulei zecimale. Dacă "expresie_întreg" este negativă, "expresie_numerică" este rotunjită la valoarea absolută cea mai apropiată cu "expresie_numerică" poziţii valabile la stânga virgulei zecimale. Rotunjirea se face înainte de aplicarea formatării datelor. Exemplu: round (125, -1) Rezultat: 130 sqrt ( expresie_numerică ) Returnează rădăcina pătrată a "expresie_numerică". "Expresie_numerică" nu trebuie să fie o valoare negativă. character_length ( expresie_şir ) Returnează numărul de caractere din "expresie_şir". extract ( expresie_parte_dată , expresie_dată-oră ) Returnează un număr întreg care reprezintă valoarea "expresie_parte_dată" din "expresie_dată-oră". "Expresie_parte_dată" poate fi anul, luna, ziua, ora, minutul sau secunda. Exemplu: extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) Rezultat: 2003 Exemplu: extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) Rezultat: 16 lower ( expresie_şir ) Returnează "expresie_şir" cu toate literele mari convertite în litere mici. Această funcţie apare în exemplul de raport Raport în rafală privind performanţa în vânzări din pachetul Antrepozit de date GO (interogare). octet_length ( expresie_şir ) Returnează numărul de octeţi din "expresie_şir". position ( expresie1_şir , expresie2_şir ) Returnează valoarea întreagă care reprezintă poziţia de început a "expresie1_şir" în "expresie2_şir". Returnează 0 dacă nu se găseşte "expresie1_şir". substring ( expresie_şir , expresie1_întreg , expresie2_întreg ) Returnează subşirul "expresie_şir" care începe la poziţia "expresie1_întreg" pentru caracterele "expresie2_întreg" sau la finalul "expresie_şir" dacă "expresie2_întreg" este -1. Primul caracter din "expresie_şir" se află la poziţia 1. substring ( [Vânzări(analiză)].[Personal vânzări].[Personal vânzări].[Personal vânzări].[Cod poziţie], 3 , 5 ) Rezultat: Returnează caracterele de la 3 la 7 din codurile de poziţie. trim ( expresie_ajustare_ce , expresie_potrivire_caracter , expresie_şir ) Returnează "expresie_şir" fără spaţii iniţiale şi finale sau fără caracterul specificat de "expresie_potrivire_caracter". "Expresie_ajustare_ce" poate fi: "leading", "trailing" sau "both" (implicit). "Expresie_potrivire_caracter" poate să fie un şir gol pentru ajustarea spaţiilor sau să specifice un caracter care va fi ajustat. upper ( expresie_şir ) Returnează "expresie_şir" cu toate literele mici convertite în litere mari. status ( expresie ) Returnează starea "expresiei". Valorile posibile sunt: 0 - OK, 1 - null, 2 - indisponibil, 4 - împărţire cu zero, 8 - depăşire, 16 - securitate, 32 - eroare, 64 - nou, 128 - eşantion, 256 - în aşteptare.