Funktioner til konvertering af datatype date2string ( datoudtryk ) Returnerer en dato som en streng i formatet ÅÅÅÅ-MM-DD. time2string ( klokkeslætudtryk ) Returnerer et klokkeslæt som en streng i formatet TT:MM:SS.FFF. timeTZ2string ( Klokkeslæt_tidszoneudtryk ) Returnerer et klokkeslæt med tidszonen som en streng i formatet TT:MM:SS.FFF +TTMM eller TT:MM:SS.FFFFFFF -HHMM. Eksempelvis betyder -05:30 tidszonen GMT minus 5 timer og 30 minutter timestamp2string ( tidsstempeludtryk ) Returnerer et tidsstempel som en streng i formatet ÅÅÅÅ-MM-DD TT:MM:SS.FFFFFFF. timestampTZ2string ( tidsstempel_tidszoneudtryk ) Returnerer et tidsstempel med tidszonen som en streng i formatet ÅÅÅÅ-MM-DD TT:MM:SS.FFFFFFF +TTMM eller ÅÅÅÅ-MM-DD TT:MM:SS.FFF -TTMM. DTinterval2string ( dato_tidsintervaludtryk ) Returnerer et dato/klokkeslætsinterval som en streng i formatet DDDD TT:MM:SS.FFFFFFF eller -DDDD TT:MM:SS.FFF. DTinterval2stringAsTime ( dato_tidsintervaludtryk ) Returnerer et dato/klokkeslætsinterval som en streng i formatet TTTT:MM:SS.FFFFFFF eller TT:MM:SS.FFF. Dage konverteres til timer. int2DTinterval ( heltalsudtryk , strengudtryk ) Konverterer et heltal til et dato/klokkeslætsinterval. "Strengudtryk" angiver, hvad "heltalsudtryk" repræsenterer: "ns" = nanosekunder, "s" = sekunder (standard), "m" = minutter, "h" = timer, "d" = dage. Eksempel: int2DTinterval (1020,"h") Resultat: 42 dage 12 timer Eksempel: int2DTinterval (1020,"s") Resultat: 17 minutter mapNumberToLetter ( strengudtryk , heltalsudtryk ) Lægger "heltalsudtryk" til "strengudtryk". Eksempel: mapNumberToLetter ( 'a' , 1 ) Resultat: b nullif ( strengudtryk1 , strengudtryk2 ) Returnerer NULL, hvis "strengudtryk1" er lig med "strengudtryk2" (der skelnes ikke mellem store og små bogstaver), ellers returneres "strengudtryk1". mod ( heltalsudtryk1 , heltalsudtryk2 ) Returnerer en heltalsværdi, der repræsenterer resten (modulo) of "heltalsudtryk1" / "heltalsudtryk2". power ( numerisk_udtryk1 , numerisk_udtryk2 ) Returnerer "numerisk_udtryk1" løftet til potensen af "numerisk_udtryk2". Eksempel: power ( 3 , 2 ) Resultat: 9 int2YMinterval ( heltalsudtryk , strengudtryk ) Konverterer "heltalsudtryk" til et år-månedsinterval. "Strengudtryk" angiver, hvad "heltalsudtryk" repræsenterer: "y" = år, "m" = måneder (standard). YMinterval2string ( år_månedsintervaludtryk ) Returnerer "år_månedsintervaludtryk" som en streng i formatet (ÅÅ MM) eller -(ÅÅ MM). number2string ( numerisk_udtryk ) Konverterer "numerisk_udtryk" til en streng ved hjælp af formatangivelsen %g (C/C++-syntaks). string2date ( strengudtryk ) Returnerer "strengudtryk" som en dato i formatet ÅÅÅÅ-MM-DD. Returnerer "strengudtryk" som et år-månedsinterval i formatet [-]ÅÅ MM. string2YMinterval ( strengudtryk ) Returnerer "strengudtryk" som et dato/klokkeslætsinterval i formatet [-]DD TT:MM[:SS[.FFF]]. string2DTinterval ( strengudtryk ) string2time ( strengudtryk ) Returnerer "strengudtryk" som et klokkeslæt i formatet TT:MM:SS.FFFFFFF. string2timestamp ( strengudtryk ) Returnerer "strengudtryk" som et tidsstempel i formatet ÅÅÅÅ-MM-DD [T|t|[mellemrum]+] TT:MM:SS.FFFFFFF. string2timestampTZ ( strengudtryk ) Returnerer "strengudtryk" i formatet ÅÅÅÅ-MM-DD TT:MM:SS.FFFFFFF +TTMM eller ÅÅÅÅ-MM-DD [T|t] TT:MM:SS.FFF -HHMM. string2double ( strengudtryk ) Returnerer et tal med flydende decimaltegn. "Strengudtryk" har følgende format: "[mellemrum] [tegn] [cifre] [cifre] [ {d|D|e|E }[tegn]cifre]" string2int64 ( strengudtryk ) Returnerer et langt heltal. "Strengudtryk" har følgende format: "[mellemrum] [{+|-}] [cifre]" string2int32 ( strengudtryk ) Returnerer et heltal. "Strengudtryk" har følgende format: "[mellemrum] [{+|-}] [cifre]" date2timestamp ( datoudtryk ) Konverterer "datoudtryk" til et tidsstempel. Klokkeslætsdelen af tidsstemplet er lig med nul. timestamp2date ( tidsstempeludtryk ) Konverterer "tidsstempeludtryk" til en dato. Klokkeslætsdelen af tidsstemplet ignoreres. timestamp2timestampTZ ( tidsstempeludtryk ) Konverterer "tidsstempeludtryk" til et tidsstempel med en tidszone. Forskydningsdelen af tidsstemplet med tidszonen bliver nul. timestampTZ2timestamp ( tidsstempel_tidszoneudtryk ) Konverterer "tidsstempel_tidszoneudtryk" til et tidsstempel. Forskydningsdelen af tidsstemplet med tidszonen ignoreres. date2timestampTZ ( datoudtryk ) Konverterer "datoudtryk" til et tidsstempel med en tidszone. Klokkeslæts- og tidszonedelen af tidsstemplet er lig med nul. timestampTZ2date ( tidsstempel_tidszoneudtryk ) Konverterer "tidsstempel_tidszoneudtryk" til en dato. Klokkeslæts- og tidszonedelen af tidsstemplet igenoreres. _add_days ( tidsstempeludtryk , heltalsudtryk ) Returnerer den dato/det klokkeslæt, der er et resultat af at lægge "heltalsudtryk" dage til "tidsstempeludtryk". Eksempel: _add_days ( 2007-01-14 00:00:00.000 , 3 ) Resultat: 2007-01-17 00:00:00.000 _add_months ( tidsstempeludtryk , heltalsudtryk ) Returnerer den dato/det klokkeslæt, der er et resultat af at lægge "heltalsudtryk" måneder til "tidsstempeludtryk". _add_years ( tidsstempeludtryk , heltalsudtryk ) Returnerer den dato/det klokkeslæt, der er et resultat af at lægge "heltalsudtryk" år til "tidsstempeludtryk". _age ( tidsstempeludtryk ) Returnerer et tal ved at trække "tidsstempeludtryk" fra dags dato. Eksempel: _age ([Forespørgsel1].[Dato]), hvor [Forespørgsel1].[Dato], er den 2. marts 2004, og i dag er den 8. juli 2009. Resultat: 50406, hvor 5 er antallet af år, 04 er antallet af måneder, og 06 er antallet af dage. _day_of_week ( tidsstempeludtryk , heltalsudtryk ) Returnerer ugedagen (mellem 1 og 7) for "tidsstempeludtryk", hvor "heltalsudtryk" angiver, hvilken dag i ugen der er dag 1. Hvis du vil bestemme værdien af "heltalsudtryk", skal du vælge ugedagen og tælle fra mandag. Hvis du f.eks. vælger onsdag, er "heltalsudtryk" 3, fordi onsdag er den tredje dag fra mandag. Eksempel: _day_of_week ( 2009-01-01 , 7 ), hvor 7 betyder, at søndag er den første dag i ugen. Resultat: 5 _day_of_year ( tidsstempeludtryk ) Returnerer ordinaltallet for dagen i året i "tidsstempeludtryk" (1 til 366). Kaldes også juliansk dag. _days_between ( tidsstempeludtryk1 , tidsstempeludtryk2 ) Returnerer et positivt eller negativt tal, der repræsenterer antallet af dage mellem "tidsstempeludtryk1" og "tidsstempeludtryk2". Hvis "tidsstempeludtryk1" < "tidsstempeludtryk2", bliver resultatet et negativt tal. _days_to_end_of_month ( tidsstempeludtryk ) Returnerer et tal, der repræsenterer antallet af dage, der er tilbage i måneden, repræsenteret af "tidsstempeludtryk". _first_of_month ( tidsstempeludtryk ) Returnerer dato/klokkeslæt, der er den første dag i måneden, repræsenteret af "tidsstempeludtryk". Eksempel: _first_of_month ( 2009-05-04 00:00:00.000 ) Resultat: Returnerer 2009-05-01 00:00:00.000 Eksempel: _first_of_month (aktuel_dato) Resultat: Returnerer 1. juli 2009, hvis den aktuelle dato er 30. juli 2009. _last_of_month ( tidsstempeludtryk ) Returnerer dato/klokkeslæt, der er den sidste dag i måneden, repræsenteret af "tidsstempeludtryk". _make_timestamp ( heltalsudtryk1 , heltalsudtryk2 , heltalsudtryk3 ) Returnerer et tidsstempel, der er oprettet ud fra "heltalsudtryk1" (året), "heltalsudtryk2" (måneden) og "heltalsudtryk3" (dagen). Klokkeslætsdelen antager standardværdien 00:00:00.000 . _months_between ( tidsstempeludtryk1 , tidsstempeludtrykn2 ) Returnerer et positivt eller negativt tal, der repræsenterer antallet af måneder mellem "tidsstempeludtryk1" og "tidsstempeludtrykn2". Hvis "tidsstempeludtryk1" < "tidsstempeludtryk2", bliver resultatet et negativt tal. _week_of_year ( tidsstempeludtryk ) Returnerer ugenummeret (1-53) i året for "tidsstempeludtryk". I henhold til ISO 8601 er uge 1 i året den første uge, der indeholder en torsdag, hvilket svarer til den første uge, der indeholder den 4. januar. En uge starter på den mandag (dag 1) og slutter på en søndag (dag 7). _years_between ( tidsstempeludtryk1 , tidsstempeludtrykn2 ) Returnerer et positivt eller negativt heltal, der repræsenterer antallet af år mellem "tidsstempeludtryk1" og "tidsstempeludtryk2". Hvis "tidsstempeludtryk1" < "tidsstempeludtryk2", returneres der en negativ værdi. _ymdint_between ( tidsstempeludtryk1 , tidsstempeludtryk2 ) Returnerer et tal, der repræsenterer forskellen mellem "tidsstempeludtryk1" og "tidsstempeludtryk2". Denne værdi har formatet ÅÅMMDD, hvor ÅÅ repræsenterer antallet af år, MM repræsenterer antallet af måneder, og DD repræsenterer antallet af dage. Eksempel: _ymdint_between ( [Forespørgsel1].[Dato (slutdato)] , [Forespørgsel1].[Dato (afsendelsesdato)] ), hvor [Forespørgsel1].[Dato (slutdato)] er 20. februar 2004, og [Forespørgsel1].[Dato (afsendelsesdato)] er 19. januar 2004. Resultat: 101, hvor 1 er antallet af måneder, og 01 er antallet af dage. abs ( numerisk_udtryk ) Returnerer den absolutte værdi af "numerisk_udtryk". Hvis "numerisk_udtryk" er negativt, returneres der en positiv værdi. ceiling ( numerisk_udtryk ) Returnerer det mindste heltal, der er større end eller lig med "numerisk_udtryk". exp ( numerisk_udtryk ) Returnerer konstanten 'e' hævet til potensen af "numerisk_udtryk". Konstanten 'e' er den naturlige logaritmes grundtal. Eksempel: exp ( 2 ) Resultat: 7.389056 floor ( numerisk_udtryk ) Returnerer det største heltal, der er mindre end eller lig med "numerisk_udtryk". ln ( numerisk_udtryk ) Returnerer den naturlige logaritme for "numerisk_udtryk". round ( numerisk_udtryk ; heltalsudtryk ) Returnerer "numerisk_udtryk" afrundet til den nærmeste værdi med "heltalsudtryk" signifikante cifre til højre for decimaltegnet. Hvis "heltalsudtryk" er negativt, afrundes "numerisk_udtryk" til den nærmeste absolutte værdi med "heltalsudtryk" signifikante cifre til venstre for decimaltegnet. Der foretages afrunding, før dataformatering anvendes. Eksempel: round (125, -1) Resultat: 130 sqrt ( numerisk_udtryk ) Returnerer kvadratroden af "numerisk_udtryk". "Numerisk_udtryk" må ikke være en negativ værdi. character_length ( strengudtryk ) Returnerer antallet af tegn i "strengudtryk". extract ( datodeludtryk , dato_klokkeslætsudtryk ) Returnerer et heltal, der repræsenterer værdien af "datodeludtryk" i "dato_klokkeslætsudtryk". "datodeludtryk" kan være året, måneden, dagen, timen, minuttet eller sekundet. Eksempel: extract ( 'year' ,string2timestamp( '2003-03-03 16:40:15.535' )) Resultat: 2003 Eksempel: extract ( 'hour' ,string2timestamp( '2003-03-03 16:40:15.535' )) Resultat: 16 lower ( strengudtryk ) Returnerer "strengudtryk", hvori alle store bogstaver er ændret til små bogstaver. Funktionen findes i eksempelrapporten Bursted Sales Performance Report i pakken GO Data Warehouse (forespørgsel). octet_length ( strengudtryk ) Returnerer antallet af byte i "strengudtryk". position ( strengudtryk1 ; strengudtryk2 ) Returnerer heltalsværdien, der repræsenterer startplaceringen af "strengudtryk1" i "strengudtryk2". Returnerer 0, hvis "strengudtryk1" ikke bliver fundet. substring ( strengudtryk ; heltalsudtryk1 ; heltalsudtryk2 ) Returnerer delstrengen af "strengudtryk", der starter på position "heltalsudtryk1" for "heltalsudtryk2" tegn eller til slutningen af "strengudtryk", hvis "heltalsudtryk2" er -1. Det første tegn i "strengudtryk" har position 1. substring ( [Salg (analyse)].[Sælgere].[Sælgere].[Sælgere].[Positionskode], 3 , 5 ) Resultat: Returnerer tegnene 3 til 7 i positionskoderne. trim ( fjern_hvad_udtryk , match_tegn_udtryk , strengudtryk ) Returnerer "strengudtryk", hvor foranstillede eller efterstillede blanktegn er fjernet, eller hvor det tegn, der er angivet af "match_tegn_udtryk", er fjernet. "Fjern_hvad_udtryk" kan være "leading", "trailing" eller "both" (standard). "Match_tegn_udtryk" kan være en tom streng for at fjerne blanktegn eller angive et tegn, der skal fjernes. upper ( strengudtryk ) Returnerer "strengudtryk", hvori alle små bogstaver er ændret til store bogstaver. status ( udtryk ) Returnerer status af "udtryk". Mulige værdier er: 0 - OK, 1 - NULL, 2 - ikke tilgængelig, 4 - dividér med nul, 8 - overløb, 16 - sikkerhed, 32 - fejl, 64 - ny, 128 - eksempel, 256 - venter.