Zajedničke funkcije A-C D-G H-L M-Q R-Z Trigonometrijske funkcije
SQL-99 skalarne abs ( numeric_expression ) Vraća apsolutnu vrijednost za "numeric_expression". Negativne vrijednosti se vraćaju kao pozitivne vrijednosti. Primjer: abs ( 15 ) Rezultat: 15 Primjer: abs ( -15 ) Rezultat: 15 bit_length bit_length ( string_expression ) Vraća broj bitova u "string_expression". cast ( expression , datatype_specification ) Konvertira "expression" u navedeni tip podataka. Neki tipovi podataka omogućuju specificiranje dužine i preciznosti. Pazite da cilj ima odgovarajući tip i veličinu. Sljedeće može biti upotrijebljeno za "datatype_specification": znak, varchar, char, numerički, decimalan, cijeli broj, bigint, smallint, stvaran, pomični, datum, vrijeme, vremenska oznaka, vrijeme s vremenskom zonom, vremenska oznaka s vremenskom zonom, i interval. Kad se tip odnosi na interval tip, mora se navesti jedan od sljedećih interval kvalifikatora: year, month ili year to month za year-to-month interval tip podataka; day, hour, minute, second, day to hour, day to minute, day to second, hour to minute, hour to second ili minute to second za day-to-second interval tip podataka. Napomene: Kad konvertirate tip vremenske oznake u tip datuma, dio vremenske oznake koji se odnosi na vrijeme se zanemaruje. Kad konvertirate tip vremenske oznake u tip vremena, dio vremenske oznake koji se odnosi na datum se zanemaruje. Kad konvertirate tip datum u tip vremenske oznake, dio vremenske oznake koji se odnosi na vrijeme se postavlja na nula. Kad konvertirate tip vrijeme u tip vremenske oznake, dio vremenske oznake koji se odnosi na datum se postavlja na trenutni sistemski datum. Konvertiranje jednog interval tipa podataka u drugi je neispravno (na primjer, zbog toga što broj dana u mjesecu nije uvijek isti). Možete specificirati broj znamenki samo za vodeći kvalifikator, tj. YEAR(4) TO MONTH; DAY(5). Doći će do grešaka ako ciljni tip i veličina nisu kompatibilni s izvornim tipom i veličinom. Primjer: cast ( '123' , integer ) Rezultat: 123 Primjer: cast ( 12345 , varchar ( 10 ) ) Rezultat: niz koji sadrži 12345 char_length ( string_expression ) Vraća broj logičkih znakova u "string_expression". Broj logičkih znakova se može razlikovati od broja bajtova u nekim istočno-azijskim lokalizacijama. Primjer: char_length ( 'Canada' ) Rezultat: 6 character_length ( string_expression ) Vraća broj znakova u "string_expression". Primjer: character_length ( 'Canada' ) Rezultat: 6 current_date current_date Vraća vrijednost datuma koja predstavlja trenutni datum na računalu na kojem radi softver baze podataka. Primjer: current_date Rezultat: 2003-03-04 current_time current_time Vraća vrijeme s vrijednošću vremenske zone, koje predstavlja trenutno vrijeme računala na kojem radi softver baze podataka, ako baza podataka podržava ovu funkciju. Inače, to predstavlja trenutno vrijeme računala na kojem radi IBM® Cognos® BI softver. Primjer: current_time Rezultat: 16:33:11,354+05:00 current_timestamp current_timestamp Vraća datetime s vrijednošću vremenske zone, koje predstavlja trenutno vrijeme računala na kojem radi softver baze podataka, ako baza podataka podržava ovu funkciju. Inače, to predstavlja trenutno vrijeme računala na kojem radi IBM® Cognos® BI softver. Primjer: current_timestamp Rezultat: 2003-03-03 16:40:15,535+05:00 localtime localtime Vraća vrijednost vremena koja predstavlja trenutno vrijeme na računalu na kojem radi softver baze podataka. Primjer: localtime Rezultat: 16:33:11 localtimestamp localtimestamp Vraća datetime vrijednost koja predstavlja trenutnu vremensku oznaku računala na kojem radi softver baze podataka. Primjer: localtimestamp Rezultat: 2003-03-03 16:40:15 extract ( datepart , datetime_expression ) Vraća cjelobrojni prikaz vrijednosti datepart (godima, mjesec, dan, sat, minute, sekunde, epoha) u "datetime_expression". Primjer: extract ( godina , 2003-03-03 16:40:15.535 ) Rezultat: 2003 Primjer: extract ( sat , 2003-03-03 16:40:15.535 ) Rezultat: 16 Primjer: extract ( epoch , 2014-11-23 ) Rezultat: 1416718800 lower ( string_expression ) Vraća "string_expression" sa svim velikim slovima promijenjenim u mala slova. Primjer: lower ( 'ABCDEF' ) Rezultat: abcdef mod ( integer_expression1, integer_expression2 ) Vraća ostatak (modulus) za "integer_expression1" podijeljen s "integer_expression2". "Integer_expression2" ne smije biti nula, jer će doći do izuzetka. Primjer: mod ( 20 , 3 ) Rezultat: 2 occurrences_regex ( regex_expression , string_expression [ , integer_expression [ , flags_expression ]] ) Vraća cjelobrojnu vrijednost koja predstavlja broj pojavljivanja regularnog izraza "regex_expression u "string_expression". Pretraživanje počinje na poziciji "integer_expression", čija default vrijednost je 1. Oznake za postavljanje opcija za tumačenje regulanog izraza se specificiraju s "flags_expression". Pojedinačne slova se koristi za definiranje oznaka, a važeće vrijednosti su 's', 'm', 'i' i 'x'. Primjer: occurrences_regex ( '.er' , 'Flicker Lantern') Rezultat: 2 octet_length ( string_expression ) Vraća broj bajtova u "string_expression". Primjer: octet_length ( 'ABCDEF' ) Rezultat: 6 Primjer: octet_length ( '' ) Rezultat: 0 position ( string_expression1 , string_expression2 ) Vraća cijeli broj koji predstavlja početni položaj od "string_expression1" u "string_expression2" ili vraća 0 ako se "string_expression1" ne nađe. Primjer: position ( 'C' , 'ABCDEF' ) Rezultat: 3 Primjer: position ( 'H' , 'ABCDEF' ) Rezultat: 0 position_regex ([ start|after ]  regex_expression , string_expression [ , integer_expression1 [ , integer_expression2 [ , flags_expression ]]] ) Vraća cjelobrojnu vrijednost koja predstavlja početnu ili krajnju poziciju podniza u "string_expression" , koja odgovara regularnom izrazu "regex_expression". Pretraživanje počinje na poziciji "integer_expression1", čija default vrijednost je 1. Pojavljivanje uzorka koji se traži je navedeno u "integer_expression2", čija default vrijednost je 1. Opcija vraćanja, specificirana u prvom argumentu, specificira što se vraća u odnosu na pojavljivanje. Ako specificirate "start", vraća se pozicija prvog znaka koji se pojavljuje. Ako navedete "after", vraća se pozicija znaka nakon pojavljivanja. Ako se ne specificira opcija vraćanje, implicitno se podrazumijeva "start". Oznake za postavljanje opcija interpretacije regularnog izraza specificiraju se s "flags_expression". Pojedinačne slova se koristi za definiranje oznaka, a važeće vrijednosti su 's', 'm', 'i' i 'x'. Primjer: position_regex ( '.er' , 'Flicker Lantern') Rezultat: 5 Primjer: position_regex ( after '.er' , 'Flicker Lantern' ) Rezultat: 8 Primjer: position_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Rezultat: 12 trim ( [ [ trailing|leading|both ] [ match_character_expression ] , ] string_expression ) Vraća "string_expression" s uklonjenim i vodećim i pratećim praznim mjestima ili s uklonjenim određenim znakovima koji su navedeni u "match_character_expression". "Both" se podrazumijeva kad nije naveden prvi argument, a prazno mjesto se podrazumijeva kad nije naveden drugi argument. Primjer: trim ( trailing 'A' , 'ABCDEFA' ) Rezultat: ABCDEF Primjer: trim ( both , ' ABCDEF ' ) Rezultat: ABCDEF upper ( string_expression ) Vraća "string_expression" sa svim malim slovima promijenjenim u velika slova. Primjer: upper ( 'abcdef' ) Rezultat: ABCDEF user user Vraća ID autorizacije upravitelja baze podataka u vrijeme izvođenja. nullif nullif ( expression1, expression2 ) Vraća null ako je "expression1" jednak "expression2", inače vraća "expression1". coalesce ( expression_list ) Vraća prvi ne-nula argument (ili nula ako su svi argumenti nula). Potrebni su dva ili više argumenata u "expression_list". coalesce ( [Unit price], [Unit sale price] ) Rezultat: Vraća jediničnu cijenu ili prodajnu cijenu ako je jedinična cijena nula. coalesce ( expression_list ) Vraća prvi ne-nula argument (ili nula ako su svi argumenti nula). U "expression_list" mora biti jedan ili više argumenata. coalesce ( [Unit price], [Unit sale price] ) Rezultat: Vraća jediničnu cijenu ili prodajnu cijenu ako je jedinična cijena nula. ceil ( numeric_expression ) Vraća najmanji cijeli broj koji je veći od ili jednak "numeric_expression". ceiling ( numeric_expression ) Vraća najmanji cijeli broj koji je veći od ili jednak "numeric_expression". Primjer: ceiling ( 4.22 ) Rezultat: 5 Primjer: ceiling ( -1.23 ) Rezultat: -1 ln ( numeric_expression ) Vraća prirodni logaritam za "numeric_expression". Primjer: ln ( 4 ) Rezultat: 1,38629 exp ( numeric_expression ) Vraća 'e' na potenciju od "numeric_expression". Konstanta 'e' je baza prirodnog logaritma. Primjer: exp ( 2 ) Rezultat: 7,389056 period ( datetime_expression1 , datetime_expression2 ) Konstruira period s početkom u "datetime_expression1" i završetkom u "datetime_expression2". Tipovi podataka početne i krajnje točke perioda moraju biti identični te mogu biti tipa date, time ili dateTime. Vrijednosti perioda mogu se koristiti u predikatima perioda. Primjer: period ( 2003-03-03 , 2003-10-03 ) Primjer: period ( 12:00:00 , 23:59:59 ) Primjer: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) Primjer: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( numeric_expression1 , numeric_expression2 ) Vraća "numeric_expression1" na potenciju od "numeric_expression2". Ako je "numeric_expression1" negativan, tada "numeric_expression2" mora za rezultat imati cijeli broj. Primjer: power ( 3 , 2 ) Rezultat: 9 random ( [ integer_expression ] ) Vraća slučajnu pomičnu vrijednost između 0 i 1, koristeći opcijski "integer_expression" kao polaznu vrijednost. _round ( numeric_expression , integer_expression ) Vraća "numeric_expression" zaokružen na "integer_expression" broj mjesta desno od decimalnog zareza. Napomene: "integer_expression" mora biti pozitivan cijeli broj. Zaokruživanje se događa prije primjene formatiranja podataka. Primjer: _round ( 1220.42369, 2 ) Rezultat: 1220,42 Konstruktor reda predstavlja zbirku vrijednosti organiziranih u red podataka. Može se koristiti u uvjetnim izrazima (npr. IF-THEN-ELSE) i izrazima filtera (npr. IN klauzula). row ( expression_list ) Primjer: if ( row([RetailerName],[OrderMethodCode]) = row('ActiForme',4) ) then ('A') else ('B') Rezultat: vraća 'A' ako je Retailer Name 'ActiForme' i šifra načina naručivanja je 4. U suprotnom vraća vrijednost 'B'. Primjer: case row([RetailerName],[OrderMethodCode]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Rezultat: Vraća 1 ako je Retailer Name 'Advanced Climbing Ltd' i šifra načina naručivanja je 3. Vraća 2 ako je Retailer Name 'ActiForme' i šifra načina naručivanja je 5. U suprotnom, vraća vrijdenost 3. Primjer: row ( [OrderMethodCode]; [Year] ) in ( [Query].[OMC]; [Query].[YR] ) Rezultat: Datum povratka se filtrira po sljedeća dva uvjeta: 1) [OrderMethodCode] in ([Query].[OMC]) 2) [Year] in ([Query].[YR]) sqrt ( numeric_expression ) Vraća kvadratni korijen za "numeric_expression". "Numeric_expression" ne smije biti negativan. Primjer: sqrt ( 9 ) Rezultat: 3 substring ( string_expression , integer_expression1 [ , integer_expression2 ] ) Vraća podniz od "string_expression" koji počinje na poziciji "integer_expression1" za "integer_expression2" znakove ili do kraja "string_expression" ako "integer_expression2" nije naveden. Prvi znak u "string_expression" je na poziciji 1. Primjer: substring ( 'abcdefg' , 3 , 2 ) Rezultat: cd substring_regex ( regex_expression , string_expression [ , integer_expression1 [ , integer_expression2 [ , flags_expression ]]] ) Vraća podniz od "string_expression" koji odgovara regularnom izrazu "regex_expression". Pretraživanje počinje na poziciji "integer_expression1", čija default vrijednost je 1. Pojavljivanje uzorka koji se traži je navedeno u "integer_expression2", čija default vrijednost je 1. Oznake za specificiranje opcija interpretacije regularnog izraza specificirane su u "flags_expression". Pojedinačne slova se koristi za definiranje oznaka, a važeće vrijednosti su 's', 'm', 'i' i 'x'. Primjer: substring_regex ( '.er' , 'Flicker Lantern') Rezultat: ker Primjer: substring_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Rezultat: ter floor ( numeric_expression ) Vraća najveći cijeli broj koji je manji od ili jednak "numeric_expression". Primjer: floor ( 3.22 ) Rezultat: 3 Primjer: floor ( -1.23 ) Rezultat: -2 width-bucket ( numeric_expression ,  min_value ,  max_value ,  num_of_buckets ) Ova funkcija vraća bucket broj, u koji će upasti vrijednost dobivena izračunom danog izraza. Primjer: width-bucket ( Quantity ,  100 ,  5000 ,  10 ) Rezultat: za svaki red vraća bucket broj (od 0 do 11) za trenutnu vrijednost Količina. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numeric_expression ) Ova trigonometrijska funkcija vraća sinus argumenta, gdje je argument kut izražen u radijanima. Primjer: sin ( 0.1667 * 3.1415 ) Rezultat: 0,5 cos ( numeric_expression ) Ova trigonometrijska funkcija vraća kosinus argumenta, gdje je argument kut izražen u radijanima. Primjer: cos ( 0.3333 * 3.1415 ) Rezultat: 0,5 tan ( numeric_expression ) Ova trigonometrijska funkcija vraća tangens argumenta, gdje je argument kut izražen u radijanima. Primjer: tan ( 0.25 * 3.1415 ) Rezultat: 1 arccos ( numeric_expression ) Ova inverzna trigonometrijska funkcija vraća arkus kosinus argumenta, gdje je argument u rasponu od -1 do 1, a rezultat je vrijednost izražena u radijanima. Primjer: arccos ( -1 ) Rezultat: 3,1415 arcsin ( numeric_expression ) Ova inverzna trigonometrijska funkcija vraća arkus sinus argumenta, gdje je argument u rasponu od -1 do 1, a rezultat je vrijednost izražena u radijanima. Primjer: arcsin ( 0 ) Rezultat: 3,1415 Ova inverzna funkcija vraća tangens argumenta, gdje je argument u rasponu od -1 do 1, arezultat je vrijednost izražena u radijanima. arctan ( numeric_expression ) Primjer: arctan ( 0 ) Rezultat: 3,1415 coshyp ( numeric_expression ) Ova trigonometrijska funkcija vraća kosinus hiperbolni argumenta, gdje je argument kut izražen u radijanima. Primjer: coshyp ( 0 ) Rezultat: 1 sinhyp ( numeric_expression ) Ova trigonometrijska funkcija vraća sinus hiperbolni argumenta, gdje je argument kut izražen u radijanima. Primjer: sinhyp ( 0 ) Rezultat: 0 tanhyp ( numeric_expression ) Ova trigonometrijska funkcija vraća tangens hiperbolni argumenta, gdje je argument kut izražen u radijanima. Primjer: tanhyp ( 0 ) Rezultat: 0
SQL-99 OLAP proširenja cube cube ( grouping_column_reference_list ) Ovo je 'group by' klauzula koja rezultira s listom grupiranja koja sadrži skup grupiranja za sve moguće kombinacije od stupaca grupiranja u "grouping_column_reference_list". rollup rollup ( grouping_column_reference_list ) Ovo je 'group by' klauzula koja rezultira s listom grupiranja koja sadrži skup grupiranja za svaku ispravnu podlistu od "grouping_column_reference_list" uz ispuštanje elemenata s desna, jednog po jednog. grouping sets grouping sets ( grouping_set_list ) Ovo je 'group by' klauzula koja specificira višestruke skupove za grupiranje. rank rank () Računa rang reda unutar prozorske particije, gdje je rang za red x definiran kao 1 plus broj redova koji prethode tom x, ali mu nisu ravnopravni. dense_rank dense_rank () Računa rang gustoće reda unutar prozorske particije, gdje je rang gustoće za red x definiran kao broj redova koji prethode i uključuju x i koji su različiti. percent_rank percent_rank () Računa rang postotka reda unutar prozorske particije, gdje je rang postotka reda x definiran kao (xy - 1) / (ab - 1) gdje je xy rang za x, a ab je broj redova u prozorskoj particiji. row_number row_number () Računa redni broj reda unutar prozorske particije, počevši od 1 za prvi red. ntile ntile ( numeric_expression ) Dijeli poredani skup podataka u više odjeljaka prema tome kako je označeno u "numeric_expression" i dodjeljuje odgovarajući broj odjeljka svakom redu.