Běžné funkce A-C D-G H-L M-Q R-Z Trigonometrické funkce
SQL-99 Scalar abs ( výrazu_typu_číslo ) Vrací absolutní hodnotu "výrazu_typu_číslo". Záporné hodnoty jsou vráceny jako kladné hodnoty. Příklad: abs ( 15 ) Výsledek: 15 Příklad: abs ( -15 ) Výsledek: 15 bit_length bit_length ( výraz_typu_řetězec ) Vrací počet bitů ve "výrazu_typu_řetězec". cast ( výraz , specifikace_datového_typu ) Převede "výraz" na určený datový typ. U některých datových typů lze určit délku a přesnost. Ujistěte se, že cíl má odpovídající typ a velikost. Ve "specifikaci_datového_typu" mohou být určeny následující datové typy: character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone a interval. Při přetypování na typ interval musí být použit jeden z následujících kvalifikátorů intervalu: year, month nebo year to month pro datový typ intervalu year-to-month; day, hour, minute, second, day to hour, day to minute, day to second, hour to minute, hour to second nebo minute to second pro datový typ intervalu day-to-second. Poznámky: Při převodu hodnoty typu timestamp na typ date je ignorována část čas hodnoty časového razítka. Při převodu hodnoty typu timestamp na typ time je ignorována část datum časového razítka. Při převodu hodnoty typu date na typ timestamp jsou komponenty čas časového razítka nastaveny na nulu. Při převodu hodnoty typu time na typ timestamp je komponenta datum nastavena na aktuální datum systému. Převod jednoho datového typu intervalu na jiný je neplatný (například proto, že počet dnů v měsíci je proměnlivý). Vezměte na vědomí, že počet číslic lze určit pouze pro vedoucí kvalifikátor, tj. YEAR(4) TO MONTH, DAY(5). Pokud typ a velikost cíle nejsou kompatibilní s typem a velikostí zdroje, budou ohlášeny chyby. Příklad: cast ( '123' , integer ) Výsledek: 123 Příklad: cast ( 12345 , varchar ( 10 ) ) Výsledek: řetězec obsahující 12345 char_length ( výraz_typu_řetězec ) Vrací počet logických znaků ve "výrazu_typu_řetězec". Počet logických znaků se v některých východoasijských národních prostředích může lišit od počtu bajtů. Příklad: char_length ( 'Kanada' ) Výsledek: 6 character_length ( výraz_typu_řetězec ) Vrací počet znaků ve "výrazu_typu_řetězec". Příklad: character_length ( 'Kanada' ) Výsledek: 6 current_date current_date Vrací hodnotu data představující aktuální datum počítače, kde je spuštěn databázový software. Příklad: current_date Výsledek: 2003-03-04 current_time current_time Vrátí hodnotu času s časovou zónou představující aktuální čas počítače, na kterém je spuštěn databázový software, pokud databáze tuto funkci podporuje. V opačném případě představuje aktuální čas počítače, na kterém je spuštěn software IBM® Cognos® BI. Příklad: current_time Výsledek: 16:33:11.354+05:00 current_timestamp current_timestamp Vrátí hodnotu data a času s časovou zónou představující aktuální čas počítače, na kterém je spuštěn databázový software, pokud databáze tuto funkci podporuje. V opačném případě představuje aktuální čas počítače, na kterém je spuštěn software IBM® Cognos® BI. Příklad: current_timestamp Výsledek: 2003-03-03 16:40:15.535+05:00 localtime localtime Vrátí hodnotu času představující aktuální čas počítače, na kterém je spuštěn databázový software. Příklad: localtime Výsledek: 16:33:11 localtimestamp localtimestamp Vrátí hodnotu data a času představující aktuální časové razítko počítače, na kterém je spuštěn databázový software. Příklad: localtimestamp Výsledek: 2003-03-03 16:40:15 extract ( část_data , výraz_typu_datum_čas ) Vrací celé číslo představující hodnotu část_data (year, month, day, hour, minute, second, epoch) ve "výrazu_typu_datum_čas". Příklad: extract ( year , 2003-03-03 16:40:15.535 ) Výsledek: 2003 Příklad: extract ( hour , 2003-03-03 16:40:15.535 ) Výsledek: 16 Příklad: extract ( epoch , 2014-11-23 ) Výsledek: 1416718800 lower ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" se všemi velkými písmeny převedenými na malá písmena. Příklad: lower ( 'ABCDEF' ) Výsledek: abcdef mod ( výraz_typu_celé_číslo1, výraz_typu_celé_číslo2 ) Vrací zbytek po dělení (modulo) z "výrazu_typu_celé_číslo1" vyděleného "výrazem_typu_celé_číslo2". "Výraz_typu_celé_číslo2" nesmí být nulový, jinak dojde k podmínce výjimky. Příklad: mod ( 20 , 3 ) Výsledek: 2 occurrences_regex ( regulární_výraz , výraz_typu_řetězec [ , celočíselný_výraz [ , výraz_příznaků ]] ) Vrací celočíselnou hodnotu představující počet výskytů regulárního výrazu regulární_výraz ve výrazu výraz_typu_řetězec. Hledání začíná na pozici celočíselný_výraz s výchozí hodnotou 1. Příznaky, jež nastavují volby pro interpretaci regulárního výrazu, jsou určeny výrazem výraz_příznaků. Příznaky jsou definovány prostřednictvím jednotlivých písmen a platné jsou hodnoty s, m, i, x. Příklad: occurrences_regex ( '.er' , 'Flicker Lantern') Výsledek: 2 octet_length ( výraz_typu_řetězec ) Vrací počet bajtů ve "výrazu_typu_řetězec". Příklad: octet_length ( 'ABCDEF' ) Výsledek: 6 Příklad: octet_length ( '' ) Výsledek: 0 position ( výraz_typu_řetězec1 , výraz_typu_řetězec2 ) Vrací celočíselnou hodnotu představující počáteční pozici "výrazu_typu_řetězec1" ve "výrazu_typu_řetězec2", nebo vrací 0, není-li "výraz_typu_řetězec1" nalezen. Příklad: position ( 'C' , 'ABCDEF' ) Výsledek: 3 Příklad: position ( 'H' , 'ABCDEF' ) Výsledek: 0 position_regex ([ start|after ]  regulární_výraz , výraz_typu_řetězec [ , celočíselný_výraz1 [ , celočíselný_výraz2 [ , výraz_příznaků ]]] ) Vrací celočíselnou hodnotu představující počáteční nebo koncovou pozici podřetězce ve výrazu výraz_typu_řetězec, který odpovídá regulárnímu výrazu regulární_výraz. Hledání začíná na pozici celočíselný_výraz1 s výchozí hodnotou 1. Výskyt hledaného vzoru je určen výrazem celočíselný_výraz2 s výchozí hodnotou 1. Volba informace pro vrácení určená prvním argumentem určuje, co bude v souvislosti s výskytem vráceno. Určíte-li volbu "start", bude vrácena pozice prvního znaku výskytu. Určíte-li volbu "after", bude vrácena pozice znaku následujícího za výskytem. Neurčíte-li volbu vrácení, bude jako výchozí použita volba "start". Příznaky, jež nastavují volby pro interpretaci regulárního výrazu, jsou určeny výrazem výraz_příznaků. Příznaky jsou definovány prostřednictvím jednotlivých písmen a platné jsou hodnoty s, m, i, x. Příklad: position_regex ( '.er' , 'Flicker Lantern') Výsledek: 5 Příklad: position_regex ( after '.er' , 'Flicker Lantern' ) Výsledek: 8 Příklad: position_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Výsledek: 12 trim ( [ [ trailing|leading|both ] [ výraz_typu_odpovídající_znak ] , ] výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" s oříznutými počátečními a koncovými mezerami nebo s oříznutými znaky určenými ve "výrazu_typu_odpovídající_znak". "Both" je implicitní, není-li uveden první argument, mezera je implicitní, není-li uveden druhý argument. Příklad: trim ( trailing 'A' , 'ABCDEFA' ) Výsledek: ABCDEF Příklad: trim ( both , ' ABCDEF ' ) Výsledek: ABCDEF upper ( výraz_typu_řetězec ) Vrací "výraz_typu_řetězec" se všemi malými písmeny převedenými na velká písmena. Příklad: upper ( 'abcdef' ) Výsledek: ABCDEF user user Vrací ID autorizace správci databáze v době běhu. nullif nullif ( výraz1, výraz2 ) Vrací hodnotu null, pokud se "výraz1" rovná "výrazu2". Jinak vrací "výraz1". coalesce ( seznam_výrazů ) Vrací první argument, který není null (nebo null, pokud jsou všechny argumenty null). Vyžaduje dva či více argumentů v "seznamu_výrazů". coalesce ( [Unit price]; [Unit sale price] ) Výsledek: Vrací jednotkovou cenu nebo jednotkovou prodejní cenu v případě, že jednotková cena má hodnotu null. coalesce ( seznam_výrazů ) Vrací první argument, který není null (nebo null, pokud jsou všechny argumenty null). Vyžaduje jeden či více argumentů v "seznamu_výrazů". coalesce ( [Unit price]; [Unit sale price] ) Výsledek: Vrací jednotkovou cenu nebo jednotkovou prodejní cenu v případě, že jednotková cena má hodnotu null. ceil ( výraz_typu_číslo ) Vrací nejmenší celé číslo větší nebo rovno "výrazu_typu_číslo". ceiling ( výraz_typu_číslo ) Vrací nejmenší celé číslo větší nebo rovno "výrazu_typu_číslo". Příklad: ceiling ( 4.22 ) Výsledek: 5 Příklad: ceiling ( -1.23 ) Výsledek: -1 ln ( výraz_typu_číslo ) Vrací přirozený logaritmus "výrazu_typu_číslo". Příklad: ln ( 4 ) Výsledek: 1.38629 exp ( výraz_typu_číslo ) Vrací 'e' umocněné na "výraz_typu_číslo". Konstanta 'e' je základ přirozeného logaritmu. Příklad: exp ( 2 ) Výsledek: 7.389056 period ( výraz_typu_datum_čas1 , výraz_typu_datum_čas2 ) Sestaví hodnotu období s počátečním bodem výraz_typu_datum_čas1 a koncovým bodem výraz_typu_datum_čas2. Datové typy počátečního a koncového bodu musí být shodné a mohou být typu Datum, Čas nebo DatumČas. Hodnoty období lze používat v predikátech období. Příklad: period ( 2003-03-03 , 2003-10-03 ) Příklad: period ( 12:00:00 , 23:59:59 ) Příklad: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) Příklad: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( výraz_typu_číslo1 , výraz_typu_číslo2 ) Vrací "výraz_typu_číslo1" umocněný na "výraz_typu_číslo2". Je-li "výraz_typu_číslo1" záporný, "výraz_typu_číslo2" musí zajistit výslednou celočíselnou hodnotu. Příklad: power ( 3 , 2 ) Výsledek: 9 random ( [ celočíselný_výraz ] ) Vrací náhodnou plovoucí hodnotu mezi 0 a 1, přičemž použije volitelný "výraz_typu_celé_číslo" jako počáteční hodnotu. _round ( výraz_typu_číslo , výraz_typu_celé_číslo ) Vrací "výraz_typu_číslo" zaokrouhlený na "výraz_typu_celé_číslo" desetinných míst vpravo od desetinné čárky. Poznámka: "výraz_typu_celé_číslo" musí být nezáporným celým číslem. Zaokrouhlení se provádí před aplikováním formátu dat. Příklad: _round ( 1220.42369, 2 ) Výsledek: 1220.42 Konstruktor řádku představuje kolekci hodnot uspořádaných jako řádek dat. Lze ho použít v podmíněných výrazech (tj. IF-THEN-ELSE) a výrazech filtru (tj. klauzule IN). row ( seznam_výrazů ) Příklad: if ( row([RetailerName],[OrderMethodCode]) = row('ActiForme';4) ) then ('A') else ('B') Výsledek: Vrátí 'A', pokud je název prodejce 'ActiForme' a kód formy objednávky je 4. Jinak vrátí hodnotu 'B'. Příklad: case row([RetailerName];[OrderMethodCode]) when row('Advanced Climbing Ltd';3) then 1 when row('ActiForme';5) then 2 else 3 end Výsledek: Vrátí 1, pokud je název prodejce 'Advanced Climbing Ltd' a kód formy objednávky je 3. Vrátí 2, pokud je název prodejce 'ActiForme' a kód formy objednávky je 5. Jinak vrátí hodnotu 3. Příklad: row ( [OrderMethodCode]; [Year] ) in ( [Query].[OMC]; [Query].[YR] ) Výsledek: Vrácená data jsou filtrována pomocí následujících podmínek: 1) [OrderMethodCode] in ([Query].[OMC]) 2) [Year] in ([Query].[YR]) sqrt ( výraz_typu_číslo ) Vrací druhou odmocninu z "výrazu_typu_číslo". "Výraz_typu_číslo" musí být nezáporný. Příklad: sqrt ( 9 ) Výsledek: 3 substring ( výrazu_typu_řetězec , výraz_typu_celé_číslo1 [ , výraz_typu_celé_číslo2 ] ) Vrací podřetězec "výrazu_typu_řetězec", který začíná na pozici "výrazu_typu_celé_číslo1" v délce "výrazu_typu_celé_číslo2" znaků nebo až do konce "výrazu_typu_řetězec", je-li "výraz_typu_celé_číslo2" vynechán. První znak ve "výrazu_typu_řetězec" je na pozici 1. Příklad: substring ( 'abcdefg' , 3 , 2 ) Výsledek: cd substring_regex ( regulární_výraz , výraz_typu_řetězec [ , celočíselný_výraz1 [ , celočíselný_výraz2 [ , výraz_příznaků ]]] ) Vrací podřetězec výrazu výraz_typu_řetězec, který odpovídá regulárnímu výrazu regulární_výraz. Hledání začíná na pozici celočíselný_výraz1 s výchozí hodnotou 1. Výskyt hledaného vzoru je určen výrazem celočíselný_výraz2 s výchozí hodnotou 1. Příznaky, jež nastavují volby pro interpretaci regulárního výrazu, jsou určeny výrazem výraz_příznaků. Příznaky jsou definovány prostřednictvím jednotlivých písmen a platné jsou hodnoty s, m, i, x. Příklad: substring_regex ( '.er' , 'Flicker Lantern') Výsledek: ker Příklad: substring_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Výsledek: ter floor ( výraz_typu_číslo ) Vrací největší celé číslo menší nebo rovno "výrazu_typu_číslo". Příklad: floor ( 3.22 ) Výsledek: 3 Příklad: floor ( -1.23 ) Výsledek: -2 width-bucket ( výraz_typu_číslo ,  min_hodnota ,  max_hodnota ,  počet_sektorů ) Pro daný výraz tato funkce vrátí číslo sektoru, do kterého by po vyhodnocení spadala hodnota tohoto výrazu. Příklad: width-bucket ( Quantity ,  100 ,  5000 ,  10 ) Výsledek: Pro každý řádek vrátí číslo sektoru (od 0 do 11) pro aktuální hodnotu Množství. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( výraz_typu_číslo ) Tato trigonometrická funkce vrátí sinus argumentu, přičemž argumentem musí být úhel vyjádřený v radiánech. Příklad: sin ( 0.1667 * 3.1415 ) Výsledek: 0,5 cos ( výraz_typu_číslo ) Tato trigonometrická funkce vrátí kosinus argumentu, přičemž argumentem musí být úhel vyjádřený v radiánech. Příklad: cos ( 0.3333 * 3.1415 ) Výsledek: 0,5 tan ( výraz_typu_číslo ) Tato trigonometrická funkce vrátí tangens argumentu, přičemž argumentem musí být úhel vyjádřený v radiánech. Příklad: tan ( 0.25 * 3.1415 ) Výsledek: 1 arccos ( výraz_typu_číslo ) Tato inverzní trigonometrická funkce vrátí arkus kosinus argumentu, přičemž argument musí spadat do rozsahu -1 a 1 a výsledkem je hodnota vyjádřená v radiánech. Příklad: arccos ( -1 ) Výsledek: 3,1415 arcsin ( výraz_typu_číslo ) Tato inverzní trigonometrická funkce vrátí arkus sinus argumentu, přičemž argument musí spadat do rozsahu -1 a 1 a výsledkem je hodnota vyjádřená v radiánech. Příklad: arcsin ( 0 ) Výsledek: 3,1415 Tato inverzní trigonometrická funkce vrátí arkus tangens argumentu, přičemž argument musí spadat do rozsahu -1 a 1 a výsledkem je hodnota vyjádřená v radiánech. arctan ( výraz_typu_číslo ) Příklad: arctan ( 0 ) Výsledek: 3,1415 coshyp ( výraz_typu_číslo ) Tato trigonometrická funkce vrátí hyperbolický kosinus argumentu, přičemž argumentem musí být úhel vyjádřený v radiánech. Příklad: coshyp ( 0 ) Výsledek: 1 sinhyp ( výraz_typu_číslo ) Tato trigonometrická funkce vrátí hyperbolický sinus argumentu, přičemž argumentem musí být úhel vyjádřený v radiánech. Příklad: sinhyp ( 0 ) Výsledek: 0 tanhyp ( výraz_typu_číslo ) Tato trigonometrická funkce vrátí hyperbolický tangens argumentu, přičemž argumentem musí být úhel vyjádřený v radiánech. Příklad: tanhyp ( 0 ) Výsledek: 0
SQL-99 OLAP Extensions cube cube ( referenční_seznam_sloupců_seskupení ) Jde o klauzuli 'group by', jejímž výsledkem je seznam sad seskupení obsahující sady seskupení pro všechny možné kombinace sloupců seskupení v "referenčním_seznamu_sloupců_seskupení". rollup rollup ( referenční_seznam_sloupců_seskupení ) Jde o klauzuli 'group by', jejímž výsledkem je seznam sad seskupení, který obsahuje sadu seskupení pro každý řádný podseznam "referenčního_seznamu_sloupců_seskupení" vzniklý vynecháním prvků zprava jeden po druhém. grouping sets grouping sets ( seznam_sad_seskupení ) Jde o klauzuli 'group by', která určuje více sad, podle kterých má být seskupení provedeno. rank rank () Počítá očíslování pořadí řádku v rámci oblasti okna, kde očíslování pořadí řádku x je definováno jako 1 plus počet řádků, které předcházejí x ale nejsou rovnocenné s x. dense_rank dense_rank () Počítá celistvé očíslování pořadí řádku v rámci oblasti okna, kde celistvé očíslování pořadí řádku x je definováno jako počet řádků předcházejících a zahrnujících x, které jsou rozdílné. percent_rank percent_rank () Počítá procentní očíslování pořadí řádku v rámci oblasti okna, kde procentní očíslování pořadí řádku x je definováno pomocí (xy - 1) / (ab - 1), kde xy je pozice x a ab je počet řádků v oblasti okna. row_number row_number () Počítá sekvenční číslo řádku pro řádek v rámci jeho oblasti okna, počínaje 1 pro první řádek. ntile ntile ( výrazu_typu_číslo ) Rozdělí uspořádanou sadu dat na počet sektorů určených "výrazem_typu_číslo" a přiřadí každému řádku odpovídající číslo sektoru.