Skupne funkcije A-C D-G H-L M-Q R-Z Trigonometrične funkcije
SQL-99 - skalarji abs ( numeric_expression ) Vrne absolutno vrednost "numeric_expression". Negativne vrednosti so vrnjene kot pozitivne vrednosti. Primer: abs ( 15 ) Rezultat: 15 Primer: abs ( -15 ) Rezultat: 15 bit_length bit_length ( string_expression ) Vrne število bitov v izrazu "string_expression". cast ( expression , datatype_specification ) Pretvori "expression" v podani tip podatkov. Nekateri tipi podatkov omogočajo podajanje dolžine ali natančnosti. Prepričajte se, da je cilj ustreznega tipa in velikosti. Za "datatype_specification" lahko uporabite naslednje: character, varchar, char, numeric, decimal; integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone in interval. Ko pretvarjate tip v intervalni tip, morate podati enega od naslednjih kvalifikatorjev: year, month, ali year to month za vrsto intervalnega tipa podatkov year-to-month; day, hour, minute, second, day to hour, day to minute, day to second, hour to minute, hour to second ali minute to second za intervalni tip podatkov day-to-second. Opombe: Če pretvorite vrednost tipa timestamp v tip date, se časovni del vrednosti timestamp prezre. Če pretvorite vrednost tipa timestamp v tip time, se datumski del vrednosti timestamp prezre. Če pretvorite vrednost tipa date v tip timestamp, bodo časovne komponente timestamp nastavljene na nič. Če pretvorite vrednost tipa time v tip timestamp, se datumski del vrednosti nastavi na trenutni sistemski datum. Pretvarjanje enega intervalnega tipa podatkov v drugega ni veljavno (na primer zato, ker je število dni v mesecu spremenljivo). Upoštevajte, da lahko podate število števk samo za začetni kvalifikator, npr. YEAR(4) TO MONTH, DAY(5). Če tip in velikost cilja nista združljiva s tipom in velikostjo izvora, boste dobili sporočila o napakah. Primer: cast ( '123' , integer ) Rezultat: 123 Primer: cast ( 12345 , varchar ( 10 ) ) Rezultat: niz, ki vsebuje 12345 char_length ( string_expression ) Vrne število logičnih znakov v izrazu "string_expression". Število logičnih znakov se lahko razlikuje od števila bajtov v nekaterih področnih nastavitvah za vzhodno Azijo. Primer: char_length ( 'Canada' ) Rezultat: 6 character_length ( string_expression ) Vrne število znakov v "string_expression". Primer: character_length ( 'Canada' ) Rezultat: 6 current_date current_date Vrne datumsko vrednost, ki predstavlja trenutni datum računalnika, na katerem se izvaja programska oprema baze podatkov. Primer: current_date Rezultat: 2003-03-04 current_time current_time Vrne čas z vrednostjo časovnega pasu, ki predstavlja trenutni čas računalnika, na katerem se izvaja programska oprema baze podatkov, če baza podatkov podpira to funkcijo. V nasprotnem primeru predstavlja trenutni čas računalnika, na katerem se izvaja programska oprema IBM® Cognos® BI. Primer: current_time Rezultat: 16:33:11.354+05:00 current_timestamp current_timestamp Vrne datetime (datum-čas) z vrednostjo časovnega pasu, ki predstavlja trenutni čas računalnika, na katerem se izvaja programska oprema baze podatkov, če baza podatkov podpira to funkcijo. V nasprotnem primeru predstavlja trenutni čas računalnika, na katerem se izvaja programska oprema IBM® Cognos® BI. Primer: current_timestamp Rezultat: 2003-03-03 16:40:15.535+05:00 localtime localtime Vrne vrednost časa, ki predstavlja trenutni čas računalnika, na katerem se izvaja programska oprema baze podatkov. Primer: localtime Rezultat: 16:33:11 localtimestamp localtimestamp Vrne vrednost datetime (datum-čas), ki predstavlja trenutni čas računalnika, na katerem se izvaja programska oprema baze podatkov. Primer: localtimestamp Rezultat: 2003-03-03 16:40:15 extract ( datepart , datetime_expression ) Vrne celo število, ki predstavlja vrednost datumskega dela (year, month, day, hour, minute, second, epoch) v "datetime_expression". Primer: extract ( year , 2003-03-03 16:40:15.535 ) Rezultat: 2003 Primer: extract ( hour , 2003-03-03 16:40:15.535 ) Rezultat: 16 Primer: extract ( epoch , 2014-11-23 ) Rezultat: 1416718800 lower ( string_expression ) Vrne "string_expression", pri čemer so vse velike črke zamenjane z malimi. Primer: lower ( 'ABCDEF' ) Rezultat: abcdef mod ( integer_expression1, integer_expression2 ) Vrne ostanek (modul) "integer_expression1" deljeno z "integer_expression2". "Integer_expression2" ne sme biti nič, drugače pride do izjemnega stanja. Primer: mod ( 20 , 3 ) Rezultat: 2 occurrences_regex ( regex_expression , string_expression [ , integer_expression [ , flags_expression ]] ) Vrne celoštevilsko vrednost, ki predstavlja število pojavitev regularnega izraza "regex_expression" v "string_expression". Iskanje se začne na položaju "integer_expression", ki ima privzeto vrednost 1. Zastavice za nastavljanje možnosti za razlago regularnega izraza so podane s "flags_expression". Posamezne črke se uporabljajo za definiranje zastavic, veljavne vrednosti so 's', 'm', 'i' in 'x'. Primer: occurrences_regex ( '.er' , 'Flicker Lantern') Rezultat: 2 octet_length ( string_expression ) Vrne število bajtov v "string_expression". Primer: octet_length ( 'ABCDEF' ) Rezultat: 6 Primer: octet_length ( '' ) Rezultat: 0 position ( string_expression1 , string_expression2 ) Vrne celoštevilsko vrednost, ki predstavlja začetni položaj "string_expression1" v "string_expression2" ali 0, če "string_expression1" ni mogoče najti. Primer: position ( 'C' , 'ABCDEF' ) Rezultat: 3 Primer: position ( 'H' , 'ABCDEF' ) Rezultat: 0 position_regex ([ start|after ]  regex_expression , string_expression [ , integer_expression1 [ , integer_expression2 [ , flags_expression ]]] ) Vrne celoštevilsko vrednost, ki predstavlja začetni ali končni položaj podniza v "string_expression", ki se ujema z regularnim izrazom "regex_expression". Iskanje se začne na položaju "integer_expression1", ki ima privzeto vrednost 1. Pojavitev vzorca za iskanje je podana z izrazom "integer_expression2", ki ima privzeto vrednost 1. Možnost vrnitve, ki je podana s prvim argumentom, podaja, kaj je vrnjeno v povezavi s pojavitvijo. Če podate "start", je vrnjen položaj prvega znaka pojavitve. Če podate "after", je vrnjen položaj znaka, ki sledi pojavitvi. Če možnosti vrnitve ne podate, se implicitno uporabi "start". Zastavice za nastavljanje možnosti za razlago regularnega izraza so podane s "flags_expression". Posamezne črke se uporabljajo za definiranje zastavic, veljavne vrednosti so 's', 'm', 'i' in 'x'. Primer: position_regex ( '.er' , 'Flicker Lantern') Rezultat: 5 Primer: position_regex ( after '.er' , 'Flicker Lantern' ) Rezultat: 8 Primer: position_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Rezultat: 12 trim ( [ [ trailing|leading|both ] [ match_character_expression ] , ] string_expression ) Vrne "string_expression", pri katerem so obrezani začetni in končni presledki ali določeni znaki, podani v "match_character_expression". "Both" je implicitno, če prvi argument ni naveden in blank je implicitno, če drugi argument ni naveden. Primer: trim ( trailing 'A' , 'ABCDEFA' ) Rezultat: ABCDEF Primer: trim ( both , ' ABCDEF ' ) Rezultat: ABCDEF upper ( string_expression ) Vrne "string_expression", kjer so vse male črke pretvorjene v velike. Primer: upper ( 'abcdef' ) Rezultat: ABCDEF user user Vrne pooblastitveni ID upravljalniku baze podatkov v izvajalnem okolju. nullif nullif ( expression1, expression2 ) Vrne ničelno vrednost, če je "expression1" enak "expression2", drugače vrne "expression1". coalesce ( expression_list ) Vrne prvi neničelni argument (ali ničelno vrednost, če so vsi argumenti ničelni). Zahteva dva ali več argumentov v "expression_list". coalesce ( [cena za enoto], [prodajna cena za enoto] ) Rezultat: vrne ceno za enoto ali prodajno ceno za enoto, če je cena za enoto ničelna. coalesce ( expression_list ) Vrne prvi neničelni argument (ali ničelno vrednost, če so vsi argumenti ničelni). Zahteva enega ali več argumentov v "expression_list". coalesce ( [cena za enoto], [prodajna cena za enoto] ) Rezultat: vrne ceno za enoto ali prodajno ceno za enoto, če je cena za enoto ničelna. ceil ( numeric_expression ) Vrne najmanjše celo število, ki je večje ali enako "numeric_expression". ceiling ( numeric_expression ) Vrne najmanjše celo število, ki je večje ali enako "numeric_expression". Primer: ceiling ( 4.22 ) Rezultat: 5 Primer: ceiling ( -1.23 ) Rezultat: -1 ln ( numeric_expression ) Vrne naravni logaritem "numeric_expression". Primer: ln ( 4 ) Rezultat: 1.38629 exp ( numeric_expression ) Vrne 'e' na potenco "numeric_expression". Konstanta 'e' je osnova naravnega logaritma. Primer: exp ( 2 ) Rezultat: 7.389056 period ( datetime_expression1 , datetime_expression2 ) Izdela vrednost obdobja z začetno točko "datetime_expression1" in končno točko "datetime_expression2". Podatkovni tipi začetnih in končnih točk morajo biti identični in so lahko tipa datum, čas ali datum/čas. Vrednosti obdobij so lahko uporabljene v predikatih obdobij. Primer: period ( 2003-03-03 , 2003-10-03 ) Primer: period ( 12:00:00 , 23:59:59 ) Primer: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) Primer: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( numeric_expression1 , numeric_expression2 ) Vrne "numeric_expression1" na potenco "numeric_expression2". Če je "numeric_expression1" negativen, mora "numeric_expression2" imeti za rezultat celoštevilsko vrednost. Primer: power ( 3 , 2 ) Rezultat: 9 random ( [ integer_expression ] ) Vrne naključno vrednost s plavajočo vejico med 0 in 1 z izbirnim izrazom "integer_expression" kot vrednostjo semena. _round ( numeric_expression , integer_expression ) Vrne "numeric_expression", ki je zaokrožen na "integer_expression" mest desno od decimalne vejice. Opombe: "integer expression" mora biti nenegativno celo število. Zaokroževanje se izvede pred uveljavljanjem oblikovanja podatkov. Primer: _round ( 1220.42369, 2 ) Rezultat: 1220.42 Graditelj vrstic predstavlja zbirko vrednosti, ki so organizirane kot vrstica podatkov. Lahko se uporablja v pogojnih izrazih (npr. IF-THEN-ELSE) in izrazih filtrov (npr. IN clause). row ( expression_list ) Primer: if ( row([RetailerName];[OrderMethodCode]) = row('ActiForme',4) ) then ('A') else ('B') Rezultat: vrne 'A', če je ime prodajalca 'ActiForme' in je koda metode naročanja 4. V nasprotnem primeru je vrnjena vrednost 'B'. Primer: case row([RetailerName];[OrderMethodCode]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Rezultat: vrne 1, če je ime prodajalca 'Advanced Climbing Ltd' in je koda metode naročanja 3. Vrne 2, če je ime prodajalca 'ActiForme' in je koda metode naročanja 5. V nasprotnem primeru je vrnjena vrednost 3. Primer: row ( [OrderMethodCode]; [Year] ) in ( [Query].[OMC]; [Query].[YR] ) Rezultat: vrnjeni podatki so filtrirani glede na naslednja dva pogoja: 1) [OrderMethodCode] in ([Query].[OMC]) 2) [Year] in ([Query].[YR]) sqrt ( numeric_expression ) Vrne kvadratni koren "numeric_expression". "Numeric_expression" mora biti nenegativen. Primer: sqrt ( 9 ) Rezultat: 3 substring ( string_expression , integer_expression1 [ , integer_expression2 ] ) Vrne podniz za "string_expression", ki se začne na položaju "integer_expression1" za "integer_expression2" znakov ali na koncu "string_expression", če izpustite "integer_expression2". Prvi znak v izrazu "string_expression" je na položaju 1. Primer: substring ( 'abcdefg' , 3 , 2 ) Rezultat: cd substring_regex ( regex_expression , string_expression [ , integer_expression1 [ , integer_expression2 [ , flags_expression ]]] ) Vrne podniz od "string_expression", ki se ujema z regularnim izrazom "regex_expression". Iskanje se začne na položaju "integer_expression1", ki ima privzeto vrednost 1. Pojavitev vzorca za iskanje je podana z izrazom "integer_expression2", ki ima privzeto vrednost 1. Zastavice za nastavljanje možnosti za razlago regularnega izraza so podane s "flags_expression". Posamezne črke se uporabljajo za definiranje zastavic, veljavne vrednosti so 's', 'm', 'i' in 'x'. Primer: substring_regex ( '.er' , 'Flicker Lantern') Rezultat: ker Primer: substring_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Rezultat: ter floor ( numeric_expression ) Vrne največje celo število, ki je manjše ali enako "numeric_expression". Primer: floor ( 3.22 ) Rezultat: 3 Primer: floor ( -1.23 ) Rezultat: -2 width-bucket ( numeric_expression ,  min_value ,  max_value ,  num_of_buckets ) Ta funkcija za dani izraz vrne številko vsebnika, v katerega bi vrednosti padale, potem ko so ovrednotene. Primer: width-bucket ( Quantity ,  100 ,  5000 ,  10 ) Rezultat: za vsako vrstico vrne številko vsebnika (od 0 do 11) za trenutno vrednost Quantity. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numeric_expression ) Ta trigonometrična funkcija vrne sinus argumenta, kjer je argument kot, izražen v radianih. Primer: sin ( 0.1667 * 3.1415 ) Rezultat: 0,5 cos ( numeric_expression ) Ta trigonometrična funkcija vrne kosinus argumenta, kjer je argument kot, izražen v radianih. Primer: cos ( 0.3333 * 3.1415 ) Rezultat: 0,5 tan ( numeric_expression ) Ta trigonometrična funkcija vrne tangens argumenta, kjer je argument kot, izražen v radianih. Primer: tan ( 0.25 * 3.1415 ) Rezultat: 1 arccos ( numeric_expression ) Ta inverzna trigonometrična funkcija vrne arkus kosinus argumenta, kjer je argument v območju od -1 do 1, rezultat pa je vrednost, izražena v radianih. Primer: arccos ( -1 ) Rezultat: 3,1415 arcsin ( numeric_expression ) Ta inverzna trigonometrična funkcija vrne arkus sinus argumenta, kjer je argument v območju od -1 do 1, rezultat pa je vrednost, izražena v radianih. Primer: arcsin ( 0 ) Rezultat: 3,1415 Ta inverzna trigonometrična funkcija vrne arkus tangens argumenta, kjer je argument v območju od -1 do 1, rezultat pa je vrednost, izražena v radianih. arctan ( numeric_expression ) Primer: arctan ( 0 ) Rezultat: 3,1415 coshyp ( numeric_expression ) Ta trigonometrična funkcija vrne hiperbolični kosinus argumenta, kjer je argument kot, izražen v radianih. Primer: coshyp ( 0 ) Rezultat: 1 sinhyp ( numeric_expression ) Ta trigonometrična funkcija vrne hiperbolični sinus argumenta, kjer je argument kot, izražen v radianih. Primer: sinhyp ( 0 ) Rezultat: 0 tanhyp ( numeric_expression ) Ta trigonometrična funkcija vrne hiperbolični tangens argumenta, kjer je argument kot, izražen v radianih. Primer: tanhyp ( 0 ) Rezultat: 0
SQL-99 - razširitve OLAP cube cube ( grouping_column_reference_list ) To je stavek "group by", katerega rezultat je seznam nabora za grupiranje, ki vsebuje nabor za grupiranje za vse možne kombinacije stolpcev grupiranja v "grouping_column_reference_list". rollup rollup ( grouping_column_reference_list ) To je stavek "group by", katerega rezultat je seznam nabora za grupiranje za vsak pravilen podseznam "grouping_column_reference_list" tako, da opušča elemente z desne enega za drugim. grouping sets grouping sets ( grouping_set_list ) To je stavek "group by", ki podaja več naborov za grupiranje. rank rank () Izračuna rang vrstice v predelku okna, pri čemer je rang vrstice x definiran kot 1 plus število vrstic, ki so pred x, vendar niso enakovredne x. dense_rank dense_rank () Izračuna gosti rang vrstice v predelku okna, pri čemer je gosti rang vrstice x definiran kot število vrstic pred in vključno z x, ki so ločene. percent_rank percent_rank () Izračuna odstotni rang vrstice v predelu okna, pri čemer je odstotni rang vrstice x definiran kot (xy - 1) / (ab - 1), pri čemer je xy rang x in ab število vrstic v predelku okna. row_number row_number () Izračuna zaporedno število vrstice v vrstici znotraj predelka okna, začenši z 1 za prvo vrstico. ntile ntile ( numeric_expression ) Razdeli urejen podatkovni nabor v "numeric_expression" vsebnikov in vsaki vrstici dodeli ustrezno številko vsebnika.