Gemensamma funktioner A-C D-G H-L M-Q R-Z Trigonometriska funktioner
SQL-99, skalära abs ( numeriskt_uttryck ) Returnerar det absoluta värdet för "numeriskt_uttryck". Negativa värden returneras som positiva värden. Exempel: abs ( 15 ) Resultat: 15 Exempel: abs ( -15 ) Resultat: 15 bit_length bit_length ( stränguttryck ) Returnerar antalet bitar i "stränguttryck". cast ( uttryck ; datatypspecifikation ) Konverterar "uttryck" till en angiven datatyp. En del datatyper tillåter att en längd eller precision anges. Se till att målet är av rätt typ och storlek. Följande kan användas som "datatypsspecifikation": character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone, och interval. Vid typomvandling till en intervalltyp måste en av följande intervallkvalificerare anges: år, månad, eller år till månad för intervalldatatypen year-to-month; dag, timme, minut, sekund, dag till timme, dag till minut, dag till sekund, timme till minut, timme till sekund eller minut till sekund för intervalldatatypen day-to-second. Anm: När du konverterar ett värde av typen timestamp till typen date, ignoreras klockslagsdelen i tidsstämpeln. När du konverterar ett värde av typen timestamp till typen time, ignoreras datumdelen i tidsstämpeln. När du konverterar ett värde av typen date till typen timestamp, anges tidskomponenterna i tidsstämpeln till noll. När du konverterar ett värde av typen time till typen timestamp, anges datumkomponenten till aktuellt systemdatum. Det går inte att konvertera en intervalldatatyp till en annan (bland annat eftersom antalet dagar i en månad varierar). Anm. Du kan endast ange antal siffror för den inledande kvalificeraren, dvs. YEAR(4) TO MONTH, DAY(5). Fel kommer att rapporteras om målets typ och storlek inte är kompatibla med källan typ och storlek. Exempel: cast ( '123' ; integer ) Resultat: 123 Exempel: cast ( 12345 ; varchar ( 10 ) ) Resultat: en sträng som innehåller 12345 char_length ( stränguttryck ) Returnerar antalet logiska tecken i "stränguttryck". Antalet logiska tecken kan vara distinkt från antalet byte i vissa nationella inställningar för Östasien. Exempel: char_length ( 'Canada' ) Resultat: 6 character_length ( stränguttryck ) Returnerar antalet tecken i "stränguttryck". Exempel: character_length ( 'Canada' ) Resultat: 6 current_date current_date Returnerar ett datumvärde som betecknar det aktuella datumet i den dator där databasprogrammet körs. Exempel: current_date Resultat: 2003-03-04 current_time current_time Returnerar en tid med tidszonsvärde som representerar den aktuella tiden på den dator där databasprogramvaran körs om databasen kan hantera den här funktionen. Annars representerar den aktuell tid på den dator som kör IBM® Cognos® BI-programvaran. Exempel: current_time Resultat: 16:33:11.354+05:00 current_timestamp current_timestamp Returnerar en datumtid med tidszonsvärde som representerar den aktuella tiden på den dator där databasprogramvaran körs om databasen kan hantera den här funktionen. Annars representerar den aktuell tid på den dator som kör IBM® Cognos® BI-programvaran. Exempel: current_timestamp Resultat: 2003-03-03 16:40:15.535+05:00 localtime localtime Returnerar ett tidsvärde som betecknar den aktuella tiden i den dator där databasprogrammet körs. Exempel: localtime Resultat: 16:33:11 localtimestamp localtimestamp Returnerar ett datum- och tidsvärde som betecknar den aktuella tidsangivelsen i den dator där databasprogrammet körs. Exempel: localtimestamp Resultat: 2003-03-03 16:40:15 extract ( datumdel ; datumtidsuttryck ) Returnerar ett heltal som representerar värdet för datepart (year, month, day, hour, minute, second, epoch) i "datumtidsuttryck". Exempel: extract ( year ; 2003-03-03 16:40:15.535 ) Resultat: 2003 Exempel: extract ( hour ; 2003-03-03 16:40:15.535 ) Resultat: 16 Exempel: extract ( epoch ; 2014-11-23 ) Resultat: 1416718800 lower ( stränguttryck ) Returnerar "stränguttryck" med alla versala tecken utbytta mot gemena. Exempel: lower ( 'ABCDEF' ) Resultat: abcdef mod ( heltalsuttryck1; heltalsuttryck2 ) Returnerar resten (modulus) av "heltalsuttryck1" dividerat med "heltalsuttryck2". "Heltalsuttryck2" får inte vara noll; då inträffar ett undantagsvillkor. Exempel: mod ( 20 ; 3 ) Resultat: 2 occurrences_regex ( regex-uttryck ; stränguttryck [ ; heltalsuttryck [ ; flagguttryck ]] ) Returnerar heltalsvärdet som representerar antalet förekomster av det reguljära uttrycket "regex-uttryck" i "stränguttryck". Sökningen startar vid position "heltalsuttryck", som har standardvärdet 1. Flaggor för att sätta alternativ för tolkning av det reguljära uttrycket anges av "flagguttryck". Enskilda bokstäver används för att definiera flaggorna. Giltiga värden: s, m, i och x. Exempel: occurrences_regex ( '.er' ; 'Flicker Lantern') Resultat: 2 octet_length ( stränguttryck ) Returnerar antalet byte i "stränguttryck". Exempel: octet_length ( 'ABCDEF' ) Resultat: 6 Exempel: octet_length ( '' ) Resultat: 0 position ( stränguttryck1 ; stränguttryck2 ) Returnerar heltalsvärdet som representerar startpositionen för "stränguttryck1" i "stränguttryck2", eller 0 om "stränguttryck1" inte går att hitta. Exempel: position ( 'C' ; 'ABCDEF' ) Resultat: 3 Exempel: position ( 'H' ; 'ABCDEF' ) Resultat: 0 position_regex ([ start|after ]  regex-uttryck ; stränguttryck [ ; heltalsuttryck1 [ ; heltalsuttryck2 [ ; flagguttryck ]]] ) Returnerar heltalsvärdet som representerar start- och slutposition för delsträngen "stränguttryck" som matchar det reguljära uttrycket "regex-uttryck". Sökningen startar vid position "heltalsuttryck1", som har standardvärdet 1. Mönsterförekomsterna som ska eftersökas anges av "heltalsuttryck2", som har standardvärdet 1. Returalternativet, som anges av första argumentet, anger vad som returneras i relation till förekomsten. Om du anger "start" returneras positionen för det första tecknet. Om du anger "after" returneras positionen för det tecken som följer den förekomst som returneras. Om inget anges returneras "start". Flaggor för att sätta alternativ för tolkning av det reguljära uttrycket anges av "flagguttryck". Enskilda bokstäver används för att definiera flaggorna. Giltiga värden: s, m, i och x. Exempel: position_regex ( '.er' ; 'Flicker Lantern') Resultat: 5 Exempel: position_regex ( after '.er' ; 'Flicker Lantern' ) Resultat: 8 Exempel: position_regex ( '.er' ; 'Flicker Lantern' ; 1 ; 2 ) Resultat: 12 trim ( [ [ trailing|leading|both ] [ match_character_expression ] , ] string_expression ) Returnerar "stränguttryck" med alla inledande och efterföljande blanktecken borttagna eller med tecknet angivet i "matchningsteckenuttryck" borttaget. "Both" är underförstått när det första argumentet inte anges, och tomt är underförstått när det andra argumentet inte anges. Exempel: trim ( trailing 'A' ; 'ABCDEFA' ) Resultat: ABCDEF Exempel: trim ( both ; ' ABCDEF ' ) Resultat: ABCDEF upper ( stränguttryck ) Returnerar "stränguttryck" med alla gemena tecken ändrade till versala tecken. Exempel: upper ( 'abcdef' ) Resultat: ABCDEF user user Anger ett behörighets-ID till databashanteraren vid körning nullif nullif ( uttryck1; uttryck2 ) Returnerar null om "uttryck1" är lika med "uttryck2". Annars returneras "uttryck1". coalesce ( uttryckslista ) Returnerar det första argumentet som inte är null (eller null om alla argument är null). Minst två argument krävs i "uttryckslista". coalesce ( [Enhetspris]; [Säljpris per enhet] ) Resultat: Returnerar enhetspriset eller säljpriset per enhet om enhetspriset är null. coalesce ( uttryckslista ) Returnerar det första argumentet som inte är null (eller null om alla argument är null). Ett eller fler argument krävs i "uttryckslista". coalesce ( [Enhetspris]; [Säljpris per enhet] ) Resultat: Returnerar enhetspriset eller säljpriset per enhet om enhetspriset är null. ceil ( numeriskt_uttryck ) Returnerar det minsta heltalet som är större än eller lika med "numeriskt_uttryck". ceiling ( numeriskt_uttryck ) Returnerar det minsta heltalet som är större än eller lika med "numeriskt_uttryck". Exempel: ceiling ( 4.22 ) Resultat: 5 Exempel: ceiling ( -1.23 ) Resultat: -1 ln ( numeriskt_uttryck ) Returnerar den naturliga logaritmen för "numeriskt_uttryck". Exempel: ln ( 4 ) Resultat: 1,38629 exp ( numeriskt_uttryck ) Returnerar 'e' upphöjt till potensen "numeriskt_uttryck". Konstanten 'e' är basen för den naturliga logaritmen. Exempel: exp ( 2 ) Resultat: 7.389056 period ( datumuttryck1 ; datumuttryck2 ) Skapar ett periodvärde med startpunkt "datumuttryck1" och slutpunkt "datumuttryck2". Datatyperna för start- och slutpunkt måste vara identiska och kan vara date, time eller dateTime. Periodvärdena kan användas i periodpredikat. Exempel: period ( 2003-03-03 ; 2003-10-03 ) Exempel: period ( 12:00:00 ; 23:59:59 ) Exempel: period ( 2003-03-03 12:00:00 ; 2003-10-03 23:59:59 ) Exempel: period ( [EMP].[BUS_START] ; [EMP].[BUS_END] ) power ( numeriskt_uttryck1 ; numeriskt_uttryck2 ) Returnerar "numeriskt_uttryck1" upphöjt till potensen "numeriskt_uttryck2". Om "numeriskt_uttryck1" är negativt, måste "numeriskt_uttryck2" resultera i ett heltalsvärde. Exempel: power ( 3 ; 2 ) Resultat: 9 random ( [ integer_expression ] ) Returnerar ett slumpmässigt flyttalsvärde mellan 0 och 1 med valfritt "heltalsuttryck" som startvärde. _round ( numeriskt_uttryck ; heltalsuttryck ) Returnerar "numeriskt_uttryck" avrundat till närmaste "heltalsuttryck" platser till höger om decimaltecknet. Anm: "heltalssuttryck" måste vara ett heltal och får inte vara negativt. Avrundningen utförs innan dataformatering tillämpas. Exempel: _round ( 1220.42369; 2 ) Resultat: 1220.42 Radkonstruktorn motsvarar en samling värden organiserade som en datarad. Den kan användas i villkorliga uttryck (dvs. IF-THEN-ELSE) och filteruttryck (dvs. IN-sats). row ( uttryckslista ) Exempel: if ( row([Återförsäljare];[Ordermetodkod]) = row('ActiForme';4) ) then ('A') else ('B') Resultat: Returnerar 'A' om Återförsäljare är 'ActiForme' och den andra ordermetodkoden är 4. I annat fall returneras värdet 'B'. Exempel: case row([Återförsäljare];[Ordermetodkod]) when row('Advanced Climbing Ltd';3) then 1 when row('ActiForme';5) then 2 else 3 end Resultat: Returnerar 1 om Återförsäljare är 'Advanced Climbing Ltd' den andra ordermetodkoden är 3. Returnerar 2 om Återförsäljare är 'ActiForme' och ordermetodkoden är 5. I annat vall returneras värdet 3. Exempel: row ( [OrderMethodCode], [Year] ) in ( [Query].[OMC], [Query].[YR] ) Resultat: Returnerade data filtreras på följande två villkor: 1) [Ordermetodkod] in ([Fråga].[OMC]) 2) [År] in ([Fråga].[ÅR] ) sqrt ( numeriskt_uttryck ) Returnerar kvadrattroten ur "numeriskt_uttryck". "Numeriskt_uttryck" får inte vara negativt. Exempel: sqrt ( 9 ) Resultat: 3 substring ( stränguttryck ; heltalsuttryck1 [ ; heltalsuttryck2 ] ) Returnerar delsträngen av "stränguttryck" som börjar vid positionen "heltalsuttryck1" i "heltalsuttryck2" tecken, eller till slutet av "stränguttryck" om "heltalsuttryck2" utelämnas. Det första tecknet i "stränguttryck" är vid position 1. Exempel: substring ( 'abcdefg' ; 3 ; 2 ) Resultat: cd substring_regex ( regex-uttryck ; stränguttryck [ ; heltalsuttryck1 [ ; heltalsuttryck2 [ ; flagguttryck ]]] ) Returnerar den delsträng "stränguttryck" som matchar det reguljära uttrycket "regex-uttryck". Sökningen startar vid position "heltalsuttryck1", som har standardvärdet 1. Mönsterförekomsten som ska eftersökas anges av "heltalsuttryck2", som har standardvärdet 1. Flaggor för tolkning av det reguljära uttrycket anges med "flagguttryck". Enskilda bokstäver används för att definiera flaggorna. Giltiga värden: s, m, i och x. Exempel: substring_regex ( '.er' ; 'Flicker Lantern') Resultat: ker Exempel: substring_regex ( '.er' ; 'Flicker Lantern' ; 1 ; 2 ) Resultat: ter floor ( numeriskt_uttryck ) Returnerar det största heltalet som är mindre än eller lika med "numeriskt_uttryck". Exempel: floor ( 3.22 ) Resultat: 3 Exempel: floor ( -1.23 ) Resultat: -2 width-bucket ( numeriskt_uttryck ,  min_value ,  max_value ,  num_of_buckets ) För ett givet uttryck returnerar funktionen hinkantalet som värdet för uttrycket skulle hamna i efter utvärdering. Exempel: width-bucket ( Kvantitet ;  100 ;  5000 ;  10 ) Resultat: För varje rad returneras hinkantalet (0 till 11) för aktuellt kvantitetsvärde. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numeriskt_uttryck ) Den här trigonometriska funktionen returnerar sinus av argumentet, där argumentet är en vinkel uttryckt i radianer. Exempel: sin ( 0.1667 * 3.1415 ) Resultat: 0.5 cos ( numeriskt_uttryck ) Den här trigonometriska funktionen returnerar cosinus av argumentet, där argumentet är en vinkel uttryckt i radianer. Exempel: cos ( 0.3333 * 3.1415 ) Resultat: 0.5 tan ( numeriskt_uttryck ) Den här trigonometriska funktionen returnerar tangenten av argumentet, där argumentet är en vinkel uttryckt i radianer. Exempel: tan ( 0.25 * 3.1415 ) Resultat: 1 arccos ( numeriskt_uttryck ) Funktionen returnerar arccosinus av argumentet, där argumentet är i intervallet -1 till 1 och resultatet är ett värde uttryckt i radianer. Exempel: arccos ( -1 ) Resultat: 3.1415 arcsin ( numeriskt_uttryck ) Funktionen returnerar arcsinus av argumentet, där argumentet är i intervallet -1 till 1 och resultatet är ett värde uttryckt i radianer. Exempel: arcsin ( 0 ) Resultat: 3.1415 Funktionen returnerar arc tangens av argumentet, där argumentet är i intervallet -1 till 1 och resultatet är ett värde uttryckt i radianer. arctan ( numeriskt_uttryck ) Exempel: arctan ( 0 ) Resultat: 3.1415 coshyp ( numeriskt_uttryck ) Funtkionen returnerar hyperbolisk cosinus för argumentet, där argumentet är en vinkel uttryckt i radianer. Exempel: coshyp ( 0 ) Resultat: 1 sinhyp ( numeriskt_uttryck ) Funtkionen returnerar hyperbolisk sinus av argumentet, där argumentet är en vinkel uttryckt i radianer. Exempel: sinhyp ( 0 ) Resultat: 0 tanhyp ( numeriskt_uttryck ) Funktionen returnerar hyperbolisk tangent av argumentet, där argumentet är en vinkel uttryckt i radianer. Exempel: tanhyp ( 0 ) Resultat: 0
SQL-99 OLAP-tillägg cube cube ( grupperingskolumnreferenslista ) Det här är en 'group by'-sats som resulterar i en grupperingsmängdlista som innehåller en grupperingsmängd för alla möjliga kombinationer av grupperingskolumnerna i "referenslista_för_grupperingskolumner". rollup rollup ( grupperingskolumnsreferenslista ) Det här är en 'group by'-sats som resulterar i en grupperingsmängdlista som innehåller en grupperingsmängd för alla korrekta dellistor i "referenslista_för_grupperingskolumner" genom att släppa element från höger, en i taget. grouping sets grouping sets ( grupperingsmängdslista ) Det här är en 'group by'-sats som anger flera mängder att gruppera efter. rank rank () Beräknar rangordningen för raden inom fönsterpartitionen, där rangordningen för rad x definieras som 1 plus antalet rader som föregår x och som inte är jämlikar med x. dense_rank dense_rank () Beräkna tät rangordning för raden inom fönsterpartitionen, där den täta rangordningen för rad x definieras som antalet rader före och inklusive x som är distinkta. percent_rank percent_rank () Beräknar procentuell rangordning för raden inom fönsterpartitionen, där den procentuella rangordningen för rad x definieras som (xy - 1) / (ab - 1), där xy är rangordningen för x och ab är antalet rader i fönsterpartitionen. row_number row_number () Beräknar det sekventiella radnumret för raden inom dess fönsterpartition med början från 1 för den första raden. ntile ntile ( numeriskt_uttryck ) Dividerar en ordnad datamängd i ett antal hinkar indikerade av "numeriskt_uttryck", och tilldelar lämpligt hinknummer till varje rad.