Generelle funktioner A-C D-G H-L M-Q R-Z Trigonometriske funktioner
SQL-99 - skalar abs ( numerisk_udtryk ) Returnerer den absolutte værdi af "numerisk_udtryk". Negative værdier returneres som positive værdier. Eksempel: abs ( 15 ) Resultat: 15 Eksempel: abs ( -15 ) Resultat: 15 bit_length bit_length ( strengudtryk ) Returnerer antallet af bit i "strengudtryk". cast ( udtryk , datatypespecifikation ) Konverterer "udtryk" til en angivet datatype. For nogle datatyper kan der angives en længde og en præcision. Kontrollér, at målet har den rigtige type og størrelse. Følgende angivelser kan bruges til "datatypespecifikation": character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone og interval. Ved typeerklæring til en intervaltype skal en af følgende intervalkvalifikatorer angives: year, month eller year to month for intervaldatatypen year-to-month og day, hour, minute, second, day to hour, day to minute, day to second, hour to minute, hour to second eller minute to second for intervaldatatypen day-to-second. Bemærkninger: Når du konverterer en værdi af typen timestamp til typen date, ignoreres klokkeslætsdelen af tidsstempelværdien. Når du konverterer en værdi af typen timestamp til typen time, ignoreres datodelen af tidsstemplet. Når du konverterer en værdi af typen date til typen timestamp, indstilles klokkeslætskomponenterne i tidsstemplet til nul. Når du konverterer en værdi af typen time til typen timestamp, indstilles datokomponenten til den aktuelle systemdato. Konvertering af én intervaldatatype til en anden er ikke gyldigt (f.eks. fordi antallet af dage i en måned varierer). Bemærk, at du kun kan angive antallet af cifre for den indledende kvalifikator, f.eks. YEAR(4) TO MONTH, DAY(5). Der rapporteres fejl, hvis måltypen og -størrelsen ikke er kompatibel med kildetypen og -størrelsen. Eksempel: cast ( '123' , integer ) Resultat: 123 Eksempel: cast ( 12345 , varchar ( 10 ) ) Resultat: En streng, der indeholder 12345 char_length ( strengudtryk ) Returnerer antallet af logiske tegn i "strengudtryk". I nogle østasiatiske sprogkonventioner kan antallet af logiske tegn afvige fra antallet af byte. Eksempel: char_length ( 'Canada' ) Resultat: 6 character_length ( strengudtryk ) Returnerer antallet af tegn i "strengudtryk". Eksempel: character_length ( 'Canada' ) Resultat: 6 current_date current_date Returnerer en datoværdi, der repræsenterer dags dato for den computer, som databasesoftwaren kører på. Eksempel: current_date Resultat: 2003-03-04 current_time current_time Returnerer et klokkeslæt med tidszone-værdi, der repræsenterer det aktuelle klokkeslæt for den computer, hvor databasesoftwaren kører, hvis databasen understøtter funktionen. Ellers repræsenterer værdien det aktuelle klokkeslæt for den computer, hvor IBM® Cognos® BI-softwaren kører. Eksempel: current_time Resultat: 16:33:11.354+05:00 current_timestamp current_timestamp Returnerer en dato-klokkeslæt med tidszone-værdi, der repræsenterer det aktuelle klokkeslæt for den computer, hvor databasesoftwaren kører, hvis databasen understøtter funktionen. Ellers repræsenterer værdien det aktuelle klokkeslæt for den computer, hvor IBM® Cognos® BI-softwaren kører. Eksempel: current_timestamp Resultat: 2003-03-03 16:40:15.535+05:00 localtime localtime Returnerer en klokkeslætsværdi, der repræsenterer det aktuelle klokkeslæt for den computer, som databasesoftwaren kører på. Eksempel: localtime Resultat: 16:33:11 localtimestamp localtimestamp Returnerer en dato-klokkeslætsværdi, der repræsenterer det aktuelle tidsstempel for den computer, som databasesoftwaren kører på. Eksempel: localtimestamp Resultat: 2003-03-03 16:40:15 extract ( datodel , dato-klokkeslætsudtryk ) Returnerer et heltal, der repræsenterer værdien af "datodel" (year, month, day, hour, minute, second, epoch) i "dato-klokkeslætsudtryk". Eksempel: extract ( year , 2003-03-03 16:40:15.535 ) Resultat: 2003 Eksempel: extract ( hour , 2003-03-03 16:40:15.535 ) Resultat: 16 Eksempel: extract ( epoch ; 2014-11-23 ) Resultat: 1416718800 lower ( strengudtryk ) Returnerer "strengudtryk", hvori alle store bogstaver er ændret til små bogstaver. Eksempel: lower ( 'ABCDEF' ) Resultat: abcdef mod ( heltalsudtryk1, heltalsudtryk2 ) Returnerer den rest (modulus), der fremkommer, når "heltalsudtryk1" divideres med "heltalsudtryk2". "Heltalsudtryk2" må ikke være nul. I så fald opstår en undtagelse. Eksempel: mod ( 20 ; 3 ) Resultat: 2 occurrences_regex ( regex-udtryk , strengudtryk [ , heltalsudtryk [ , flagudtryk ]] ) Returnerer en heltalsværdi, som repræsenterer antal forekomster af det regulære udtryk "regex-udtryk" i "strengudtryk". Søgningen starter ved positionen "heltalsudtryk", der har standardværdien 1. Flag til angivelse af indstillinger for fortolkning af det regulære udtryk angives med "flagudtryk". Enkeltstående bogstaver bruges til definition af flagene. Gyldige værdier er 's', 'm', 'i' og 'x'. Eksempel: occurrences_regex ( '.er' , 'Flicker Lantern') Resultat: 2 octet_length ( strengudtryk ) Returnerer antallet af byte i "strengudtryk". Eksempel: octet_length ( 'ABCDEF' ) Resultat: 6 Eksempel: octet_length ( '' ) Resultat: 0 position ( strengudtryk1 ; strengudtryk2 ) Returnerer en heltalsværdi, der repræsenterer startpositionen for "strengudtryk1" i "strengudtryk2" eller 0, hvis "strengudtryk1" ikke bliver fundet. Eksempel: position ( 'C' , 'ABCDEF' ) Resultat: 3 Eksempel: position ( 'H' , 'ABCDEF' ) Resultat: 0 position_regex ([ start|after ]  regex-udtryk , strengudtryk [ , heltalsudtryk1 [ , heltalsudtryk2 [ , flagudtryk ]]] ) Returnerer en heltalsværdi, der repræsenterer start- eller slutpositionen for den delstreng i "strengudtryk", der matcher det regulære udtryk "regex-udtryk". Søgningen starter ved positionen "heltalsudtryk1", der har standardværdien 1. Forekomsten af mønsteret, der skal søges efter, angives med "heltalsudtryk2", der har standardværdien 1. returneringsindstillingen, der angives med det første argument, angiver hvad der returneres i forbindelse med forekomsten. Hvis du angiver "start", returneres placeringen for det første tegn i forekomsten. Hvis du angiver "after", returneres placeringen for tegnet efter forekomsten. Hvis du ikke angiver en returneringsindstilling, er "start" implicit. Flag til angivelse af indstillinger for fortolkning af det regulære udtryk angives med "flagudtryk". Enkeltstående bogstaver bruges til definition af flagene. Gyldige værdier er 's', 'm', 'i' og 'x'. Eksempel: position_regex ( '.er' , 'Flicker Lantern') Resultat: 5 Eksempel: position_regex ( after '.er' , 'Flicker Lantern' ) Resultat: 8 Eksempel: position_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Resultat: 12 trim ( [ [ trailing|leading|both ] [ matchtegnudtryk ] , ] strengudtryk ) Returnerer "strengudtryk", som foranstillede og/eller efterstillede blanktegn eller det tegn, der er angivet i "matchtegnudtryk", er fjernet fra. "Both" er implicit, hvis det første argument ikke er angivet, og tom er implicit, hvis det andet argument ikke er angivet. Eksempel: trim ( trailing 'A' , 'ABCDEFA' ) Resultat: ABCDEF Eksempel: trim ( both , ' ABCDEF ' ) Resultat: ABCDEF upper ( strengudtryk ) Returnerer "strengudtryk", hvori alle små bogstaver er ændret til store bogstaver. Eksempel: upper ( 'abcdef' ) Resultat: ABCDEF user user Returnerer en autorisations-id til databasesystemet ved runtime. nullif nullif ( udtryk1, udtryk2 ) Returnerer NULL, hvis "udtryk1" er lig med "udtryk2", ellers returneres "udtryk1". coalesce ( udtryksliste ) Returnerer det første argument, der ikke er NULL (eller NULL, hvis alle argumenter er NULL). Kræver to eller flere argumenter på "udtryksliste". coalesce ( [Unit price]; [Unit sale price] ) Resultat: Returnerer stykprisen. Hvis stykprisen er NULL, returneres salgsstykprisen. coalesce ( udtryksliste ) Returnerer det første argument, der ikke er NULL (eller NULL, hvis alle argumenter er NULL). Kræver et eller flere argumenter på "udtryksliste". coalesce ( [Unit price]; [Unit sale price] ) Resultat: Returnerer stykprisen. Hvis stykprisen er NULL, returneres salgsstykprisen. ceil ( numerisk_udtryk ) Returnerer det mindste heltal, der er større end eller lig med "numerisk_udtryk". ceiling ( numerisk_udtryk ) Returnerer det mindste heltal, der er større end eller lig med "numerisk_udtryk". Eksempel: ceiling ( 4.22 ) Resultat: 5 Eksempel: ceiling ( -1.23 ) Resultat: -1 ln ( numerisk_udtryk ) Returnerer den naturlige logaritme for "numerisk_udtryk". Eksempel: ln ( 4 ) Resultat: 1.38629 exp ( numerisk_udtryk ) Returnerer 'e' i "numerisk_udtryk". potens. Konstanten 'e' er den naturlige logaritmes grundtal. Eksempel: exp ( 2 ) Resultat: 7.389056 period ( dato-klokkeslætsudtryk1 , dato-klokkeslætsudtryk2 ) Opbygger en periodeværdi med startpunktet "dato-klokkeslætsudtryk1" og slutpunktet "dato-klokkeslætsudtryk2". Datatypen for start- og slutpunktet skal være identisk og kan være enten date, time eller dateTime. Periodeværdier kan bruges i periodeprædikater. Eksempel: period ( 2003-03-03 , 2003-10-03 ) Eksempel: period ( 12:00:00 , 23:59:59 ) Eksempel: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) Eksempel: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( numerisk_udtryk1 , numerisk_udtryk2 ) Returnerer "numerisk_udtryk1" i "numerisk_udtryk2". potens. Hvis "numerisk_udtryk1" er negativt, skal resultatet af "numerisk_udtryk2" være en heltalsværdi. Eksempel: power ( 3 , 2 ) Resultat: 9 random ( [ heltalsudtryk ] ) Returnerer en tilfældig værdi med flydende decimaltegn mellem 0 og 1, idet det valgfri "heltalsudtryk" bruges som startværdi. _round ( numerisk_udtryk , heltalsudtryk ) Returnerer "numerisk_udtryk" afrundet til "heltalsudtryk" pladser til højre for decimaltegnet. Bemærkninger: "Heltalsudtryk" skal være et heltal, der ikke er negativt. Der foretages afrunding, før dataformatering anvendes. Eksempel: _round ( 1220.42369, 2 ) Resultat: 1220.42 Rækkekonstruktøren repræsenterer en samling af værdier, der er organiseret som en række af data. Den kan bruges i betingede udtryk (f.eks. IF-THEN-ELSE) og filterudtryk (f.eks. IN-udtryk). row ( udtryksliste ) Eksempel: if ( row([RetailerName],[OrderMethodCode]) = row('ActiForme',4) ) then ('A') else ('B') Resultat: Returnerer 'A', hvis detailhandlernavnet er 'ActiForme', og ordremetodekoden er 4. Ellers returneres værdien 'B'. Example: case row([RetailerName],[OrderMethodCode]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Resultat: Returnerer 1, hvis detailhandlernavnet er 'Advanced Climbing Ltd' og ordremetodekoden er 3. Returnerer, hvis detailhandlernavnet er 'ActiForme', og ordremetodekoden er 5. Ellers returneres værdien 3. Eksempel: row ( [OrderMethodCode]; [Year] ) in ( [Query].[OMC]; [Query].[YR] ) Resultat: De returnerede data filtreres efter følgende to betingelser: 1) [OrderMethodCode] in ([Query].[OMC]) 2) [Year] in ([Query].[YR]) sqrt ( numerisk_udtryk ) Returnerer kvadratroden af "numerisk_udtryk". "Numerisk_udtryk" må ikke være negativt. Eksempel: sqrt ( 9 ) Resultat: 3 substring ( strengudtryk , heltalsudtryk1 [ , heltalsudtryk2 ] ) Returnerer den delstreng af "strengudtryk", der begynder på positionen "heltalsudtryk1" og har "heltalsudtryk2" tegn eller indtil slutningen af "strengudtryk", hvis heltalsudtryk2" er udeladt. Det første tegn i "strengudtryk" har position 1. Eksempel: substring ( 'abcdefg' , 3 , 2 ) Resultat: cd substring_regex ( regex-udtryk , strengudtryk [ , heltalsudtryk1 [ , heltalsudtryk2 [ , flagudtryk ]]] ) Returnerer en delstreng fra "strengudtryk", der matcher det regulære udtryk "regex-udtryk". Søgningen starter ved positionen "heltalsudtryk1", der har standardværdien 1. Forekomsten af mønsteret, der skal søges efter, angives med "heltalsudtryk2", der har standardværdien 1. Flag til angivelse af indstillinger for fortolkning af det regulære udtryk angives med "flagudtryk". Enkeltstående bogstaver bruges til definition af flagene. Gyldige værdier er 's', 'm', 'i' og 'x'. Eksempel: substring_regex ( '.er' , 'Flicker Lantern') Resultat: ker Eksempel: substring_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Resultat: ter floor ( numerisk_udtryk ) Returnerer det største heltal, der er mindre end eller lig med "numerisk_udtryk". Eksempel: floor ( 3.22 ) Resultat: 3 Eksempel: floor ( -1.23 ) Resultat: -2 width-bucket ( numerisk_udtryk ,  min_værdi ,  max_værdi ,  antal_buckets ) Denne funktion returnerer for et givet udtryk det bucket-nummer, som værdien af udtrykket vil falde i efter evaluering. Eksempel: width-bucket ( Quantity ,  100 ,  5000 ,  10 ) Resultat: Returnerer for hver række bucket-nummeret (fra 1 til 11) for den aktuelle værdi af Quantity. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numerisk_udtryk ) Denne trigonometriske funktion returnerer sinus af argumentet, hvor argumentet er en vinkel udtrykt i radianer. Eksempel: sin ( 0.1667 * 3.1415 ) Resultat: 0.5 cos ( numerisk_udtryk ) Denne trigonometriske funktion returnerer cosinus af argumentet, hvor argumentet er en vinkel udtrykt i radianer. Eksempel: cos ( 0.3333 * 3.1415 ) Resultat: 0.5 tan ( numerisk_udtryk ) Denne trigonometriske funktion returnerer tangensen af argumentet, hvor argumentet er en vinkel udtrykt i radianer. Eksempel: tan ( 0.25 * 3.1415 ) Resultat: 1 arccos ( numerisk_udtryk ) Denne inverse trigonometriske funktion returnerer arcus cosinus af argumentet, hvor argumentet er i intervallet mellem -1 og 1, og resultatet er en værdi udtrykt i radianser. Eksempel: arccos ( -1 ) Resultat: 3.1415 arcsin ( numerisk_udtryk ) Denne inverse trigonometriske funktion returnerer arcus sinus af argumentet, hvor argumentet er i intervallet mellem -1 og 1, og resultatet er en værdi udtrykt i radianser. Eksempel: arcsin ( 0 ) Resultat: 3.1415 Denne inverse trigonometriske funktion returnerer arcus tangensen af argumentet, hvor argumentet er i intervallet mellem -1 og 1, og resultatet er en værdi udtrykt i radianser. arctan ( numerisk_udtryk ) Eksempel: arctan ( 0 ) Resultat: 3.1415 coshyp ( numerisk_udtryk ) Denne trigonometriske funktion returnerer den hyperbolske cosinus af argumentet, hvor argumentet er en vinkel udtrykt i radianer. Eksempel: coshyp ( 0 ) Resultat: 1 sinhyp ( numerisk_udtryk ) Denne trigonometriske funktion returnerer den hyperbolske sinus af argumentet, hvor argumentet er en vinkel udtrykt i radianer. Eksempel: sinhyp ( 0 ) Resultat: 0 tanhyp ( numerisk_udtryk ) Denne trigonometriske funktion returnerer den hyperbolske tangens af argumentet, hvor argumentet er en vinkel udtrykt i radianer. Eksempel: tanhyp ( 0 ) Resultat: 0
SQL-99 OLAP-udvidelser cube cube ( referenceliste_med_grupperingskolonner ) Et 'group by'-udtryk, der resulterer i en grupperingssætliste, som indeholder et grupperingssæt for alle de mulige kombinationer af grupperingskolonnerne på "referenceliste_med_grupperingskolonner". rollup rollup ( referenceliste_med_grupperingskolonner ) Et 'group by'-udtryk, der resulterer i en grupperingssætliste, som indeholder et grupperingssæt for alle dellister for "referenceliste_med_grupperingskolonner", der fremkommer, når elementerne udelades et efter et med start i højre side. grouping sets grouping sets ( grupperingssætliste ) Et 'group by'-udtryk, som angiver flere sæt, der skal grupperes efter. rank rank () Beregner rangen for rækken i vinduespartitionen, hvor rangen for række x defineres som 1 plus antallet af rækker, der kommer før x, men ikke er sideordnet med x. dense_rank dense_rank () Beregner tæthedsrangen for rækken i vinduespartitionen, hvor rangen for række x defineres som antallet af rækker før x og iberegnet x, som er forskellige. percent_rank percent_rank () Beregner procentrangen for rækken i vinduespartitionen, hvor procentrangen for række x defineres som (xy - 1) / (ab - 1), hvor xy er rangen for x, og ab er antallet af rækker i vinduespartitionen. row_number row_number () Beregner det sekventielle rækkenummer for rækken i vinduespartitionen, hvor første række har nummer 1. ntile ntile ( numerisk_udtryk ) Inddeler et ordnet datasæt i buckets, som angives af "numerisk_udtryk", og tildeler det relevante bucket-nummer til hver række.