Egyszerű függvények A-C D-G H-L M-Q R-Z Trigonometriai függvények
SQL-99 Scalar abs ( numerikus_kifejezés ) A "numerikus_kifejezés" abszolút értékét adja vissza. A negatív értékeket pozitív értékként adja vissza. Példa: abs ( 15 ) Eredmény: 15 Példa: abs ( -15 ) Eredmény: 15 bit_length bit_length ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" bitjeinek számát adja vissza. cast ( kifejezés , adattípus-specifikáció )  A "kifejezés" paramétert a megadott adattípusra konvertálja. Bizonyos adattípusok megengedik hosszúság és pontosság megadását. Győződjön meg róla, hogy a cél megfelelő típusú és méretű. Az „adattípus-specifikáció” értékeként az alábbi változók használhatók: character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone, and interval. Ha "interval" típusra végez típusátalakítást, meg kell adnia a következő intervallumminősítők egyikét: "year", "month" vagy "year to month" a "year-to-month" intervallum-adattípus esetén; "day", "hour", "minute", "second", "day to hour", "day to minute", "day to second", "hour to minute", "hour to second" vagy "minute to second" a "day-to-second" intervallum-adattípus esetén. Megjegyzések: Ha "timestamp" típusú értéket konvertál "date" típusú értékké, az időbélyegző idő része nem lesz figyelembe véve. Ha "timestamp" típusú értéket konvertál "time" típusú értékké, az időbélyegző dátum része nem lesz figyelembe véve. Ha "date" típusú értéket konvertál "timestamp" típusú értékké, az időbélyegző időösszetevője nullára lesz állítva. Ha "time" típusú értéket konvertál "timestamp" típusú értékké, a dátumösszetevő az aktuális rendszeridőre lesz beállítva. Az egyik intervallum-adattípust nem lehet másikra konvertálni (például azért, mert a hónap napjainak száma változó). A karakterek számát csak a kezdő minősítő esetében adhatja meg, pl. YEAR(4) TO MONTH, DAY(5). Ha a céltípus és -méret nem kompatibilis a forrástípussal és -mérettel, a rendszer hibát jelez. Példa: cast ( '123' , integer ) Eredmény: 123 Példa: cast ( 12345 , varchar ( 10 ) ) Eredmény: az 12345 számot tartalmazó karaktersor char_length ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" logikai karaktereinek számát adja vissza. Ez egyes kelet-ázsiai területi beállítások használata esetén eltérhet a bájtok számától. Példa: char_length ( ’Canada' ) Eredmény: 6 character_length ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" karaktereinek számát adja vissza. Példa: character_length ( ’Canada'  ) Eredmény: 6 current_date current_date Az adatbázisszoftvert futtató számítógép aktuális dátumának megfelelő dátumértéket adja vissza. Példa: current_date Eredmény: 2003.03.04. current_time  current_time  Az adatbázisszoftvert futtató számítógép aktuális idejének megfelelő időt adja vissza időzónaértékkel, amennyiben az adatbázis támogatja ezt a függvényt. Ellenkező esetben az IBM® Cognos® BI szoftvert futtató számítógép aktuális időpontját adja meg. Példa: current_time Eredmény: 16:33:11.354+05:00 current_timestamp  current_timestamp  Az adatbázisszoftvert futtató számítógép aktuális idejének megfelelő dátum- és időpontértéket adja vissza időzónaértékkel, amennyiben az adatbázis támogatja ezt a függvényt. Ellenkező esetben az IBM® Cognos® BI szoftvert futtató számítógép aktuális időpontját adja meg. Példa: current_timestamp Eredmény: 2003-03-03 16:40:15.535+05:00 localtime  localtime  Az adatbázisszoftvert futtató számítógép aktuális idejének megfelelő időértéket adja vissza. Példa: localtime Eredmény: 16:33:11 localtimestamp localtimestamp Az adatbázisszoftvert futtató számítógép aktuális időbélyegzőjének megfelelő dátum- és időpontértéket adja vissza. Példa: localtimestamp Eredmény: 2003-03-03 16:40:15 extract ( dátumelem, dátum_és_időpont-kifejezés )  A "dátum_és_időpont-kifejezés" dátumelem (év, hónap, nap, óra, perc, másodperc, időszak) értékének megfelelő egész számot adja vissza. Példa: extract ( year , 2003-03-03 16:40:15.535 ) Eredmény: 2003 Példa: extract ( hour , 2003-03-03 16:40:15.535 ) Eredmény: 16 Például: extract ( epoch , 2014-11-23 ) Eredmény: 1416718800 lower ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" paramétert a nagybetűs karakterek kisbetűsre alakításával adja vissza. Példa: lower ( 'ABCDEF' ) Eredmény: abcdef mod ( egészszám-kifejezés1, egészszám-kifejezés2 ) Az „egészszám-kifejezés1” és „egészszám-kifejezés2” hányadosának maradékát (modulus) adja vissza. Az „egészszám-kifejezés2” nem lehet nulla, különben kivétel állapot lép fel. Példa: mod ( 20 , 3 ) Eredmény: 2 occurrences_regex ( regex-kifejezés , karakterlánc-kifejezés [ , egészszám-kifejezés [ , jelölők-kifejezés ]] ) A "karakterlánc-kifejezés" "regex-kifejezés" elemében lévő reguláris kifejezés előfordulásainak számát jelző egész értéket ad vissza. A keresés az "egészszám-kifejezés" elemnél kezdődik, amelynek alapértelmezett értéke 1. A reguláris kifejezések értelmezéséhez használt beállítások jelölőit a "jelölők-kifejezés" határozza meg. Egyéni betűkkel határozhatók meg a jelölők, ahol az érvényes értékek a következők: 's', 'm', 'i' és 'x'. Például: occurrences_regex ( '.er' , 'Flicker Lantern') Eredmény: 2 octet_length ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" bájtjainak számát adja vissza. Példa: octet_length ( 'ABCDEF' ) Eredmény: 6 Példa: octet_length ( '' ) Eredmény: 0 position ( karakterlánc-kifejezés1 , karakterlánc-kifejezés2 ) A "karakterlánc-kifejezés2" paraméterben lévő "karakterlánc-kifejezés1" kifejezés kezdő pozícióját jelölő egész számot adja vissza (vagy nullát, ha a "karakterlánc-kifejezés1" nem található). Példa: position ( 'C' , 'ABCDEF' ) Eredmény: 3 Példa: position ( 'H' , 'ABCDEF' ) Eredmény: 0 position_regex ([ start|after ]  regex-kifejezés , karakterlánc-kifejezés [ , egészszám-kifejezés1 [ , egészszám-kifejezés2 [ , jelölők-kifejezés ]]] ) A "regex-kifejezés" reguláris kifejezésnek megfelelő "karakterlánc-kifejezés" elemben lévő karakterláncrész kezdő vagy záró pozícióját jelző egész értéket ad vissza. A keresés az "egészszám-kifejezés1" pozícióban kezdődik, amelynek alapértelmezett értéke 1. A keresendő minta előfordulását az "egészszám-kifejezés2" határozza meg, amelynek alapértelmezett értéke 1. Az első argumentum által meghatározott visszaadási beállítás határozza meg, mit ad vissza a rendszer az előfordulással kapcsolatban. Ha a "start" elemet adja meg, a rendszer az előfordulás első karakterének pozícióját adja vissza. Ha az "after" elemet adja meg, a rendszer az előfordulást követő karakterének pozícióját adja vissza. Ha nem ad meg visszaadási beállítást, a "start" beállítást használja a rendszer. A reguláris kifejezés értelmezéséhez használt beállítások jelölőit a "jelölők-kifejezés" határozza meg. Egyéni betűkkel határozhatók meg a jelölők, ahol az érvényes értékek a következők: 's', 'm', 'i' és 'x'. Például: position_regex ( '.er' , 'Flicker Lantern') Eredmény: 5 Például: position_regex ( after '.er' , 'Flicker Lantern' ) Eredmény: 8 Például: position_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Eredmény: 12 trim ( [ [ trailing|leading|both ] [ karaktermegfeleltetés-kifejezés ] , ] karakterlánc-kifejezés ) A "karakterlánc-kifejezés" paramétert a kezdő vagy záró szóközök, illetve a "karaktermegfeleltetés-kifejezés" paraméterben megadott karakterek levágásával adja vissza. Ha az első argumentum nincs megadva, a rendszer a "both" kapcsolót használja. Ha nincs megadva a második argumentum, annak alapértéke üres érték lesz. Példa: trim ( trailing 'A' , 'ABCDEFA' ) Eredmény: ABCDEF Példa: trim ( both , ' ABCDEF ' ) Eredmény: ABCDEF upper ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" értékét a kisbetűs karakterek nagybetűsre alakításával adja vissza. Példa: upper ( 'abcdef' ) Eredmény: ABCDEF user user Jogosultságazonosítót ad vissza az adatbázis-kezelőnek futásidőben. nullif nullif ( kifejezés1, kifejezés2 ) Null értéket ad vissza, ha a "karakterlánc-kifejezés1" és a "karakterlánc-kifejezés2" egyenlő; ellenkező esetben a "karakterlánc-kifejezés1" értékét adja vissza. coalesce ( kifejezéslista ) Az első nem NULL értékű argumentumot adja vissza (ha az összes argumentum NULL értékű, akkor NULL értéket ad vissza). A "kifejezéslista" paraméterben két vagy több argumentumot kell megadni. coalesce ( [Egységár]; [Értékesítési egységár] ) Eredmény: az egységárat - vagy null értékű egységár esetén az értékesítési egységárat - adja vissza. coalesce ( kifejezéslista ) Az első nem NULL értékű argumentumot adja vissza (ha az összes argumentum NULL értékű, akkor NULL értéket ad vissza). A "kifejezéslista" paraméterben egy vagy több argumentumot kell megadni. coalesce ( [Egységár]; [Értékesítési egységár] ) Eredmény: az egységárat - vagy null értékű egységár esetén az értékesítési egységárat - adja vissza. ceil ( numerikus_kifejezés ) A "numerikus_kifejezés" paraméternél nagyobb vagy azzal egyenlő legkisebb egész számot adja vissza. ceiling ( numerikus_kifejezés ) A "numerikus_kifejezés" paraméternél nagyobb vagy azzal egyenlő legkisebb egész számot adja vissza. Példa: ceiling ( 4,22 ) Eredmény: 5 Példa: ceiling ( -1,23 ) Eredmény: -1 ln ( numerikus_kifejezés ) A "numerikus_kifejezés" természetes alapú logaritmusát adja vissza. Példa: ln ( 4 ) Eredmény: 1,38629 exp ( numerikus_kifejezés ) Az "e" állandót a "numerikus_kifejezés" értékének megfelelő hatványra emelve adja vissza. Az "e" állandó a természetes alapú logaritmus alapja. Példa: exp ( 2 ) Eredmény: 7,389056 period ( dátum_és_időpont-kifejezés1 , dátum_és_időpont-kifejezés2 ) A "dátum_és_időpont-kifejezés1" kezdőponttal és a "dátum_és_időpont-kifejezés2" végponttal rendelkező időszakértéket hozza létre. A kezdő- és végpontok adattípusainak egyezniük kell, és dátum, idő vagy dátum és idő típusúak lehetnek. Az időszakértékek időszak predikátumokban használhatók. Például: period ( 2003-03-03 , 2003-10-03 ) Például: period ( 12:00:00 , 23:59:59 ) Például: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) Például: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( numerikus_kifejezés1 , numerikus_kifejezés2 ) A "numerikus_kifejezés1" értékét a "numerikus_kifejezés2" értékének megfelelő hatványra emelve adja vissza. Ha a "numerikus_kifejezés1" negatív, a "numerikus_kifejezés2" csak egész érték lehet. Példa: power ( 3 , 2 ) Eredmény: 9 random ( [ egészszám_kifejezés ] ) 0 és 1 közötti véletlenszerű lebegőpontos értéket ad vissza, a nem kötelező „egészszám-kifejezés” paramétert használva kiindulóértékként. _round ( numerikus-kifejezés , egészszám-kifejezés ) A „numerikus kifejezés” értékének a tizedesjeltől „egészszám-kifejezés” számú helyre kerekített értékét adja vissza. Megjegyzés: az „egészszám-kifejezés” csak nem negatív egész szám lehet. A kerekítés az adatok formázása előtt történik. Példa: _round ( 1220,42369, 2 ) Eredmény: 1220,42 A sorkonstruktorok adatsorba rendezett értékek gyűjteményét jelölik. Feltételes kifejezésekben (például IF-THEN-ELSE) és szűrőkifejezésekben (például IN záradék) használható. row ( kifejezés_lista ) Példa: if ( row([Kereskedő neve],[Rendelési mód kódja]) = row('ActiForme',4) ) then ('A') else ('B') Eredmény: 'A' értéket ad vissza, ha a kereskedő neve 'ActiForme' és a rendelési mód kódja 4. Egyéb esetekben a 'B' értéket adja vissza. Példa: case row([Kereskedő neve],[Rendelési mód kódja]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Eredmény: 1 értéket ad vissza, ha a kereskedő neve 'Advanced Climbing Ltd' és a rendelési mód kódja 3. A 2 értéket adja vissza, ha a kereskedő neve 'ActiForme' és a rendelési mód kódja 5. Egyéb esetekben a 3 értéket adja vissza. Példa: row ( [Rendelési mód kódja], [Év] ) in ( [Lekérdezés].[OMC], [Lekérdezés].[YR] ) Eredmény: A visszaadott adatokat az alábbi két feltétel szerint szűri: 1) [Rendelési mód kódja] in ([Lekérdezés].[OMC]) 2) [Év] in ([Lekérdezés].[YR]) sqrt ( numerikus_kifejezés ) A "numerikus_kifejezés" négyzetgyökét adja vissza. A "numerikus_kifejezés" csak nem negatív szám lehet. Példa: sqrt ( 9 ) Eredmény: 3 substring ( karakterlánc-kifejezés , egészszám-kifejezés1 [ , egészszám-kifejezés2 ] ) A „karakterlánc-kifejezés” azon karakterláncrészét adja vissza, amely „egészszám-kifejezés1” pozícióban kezdődik, és „egészszám-kifejezés2" karakterig tart, vagy a „karakterlánc-kifejezés” végéig, amennyiben az „egészszám-kifejezés2” nincs megadva. A "karakterlánc-kifejezés" első karaktere az 1. helyen áll. Példa: substring ( 'abcdefg' , 3 , 2 ) Eredmény: cd substring_regex ( regex-kifejezés , karakterlánc-kifejezés [ , egészszám-kifejezés1 [ , egészszám-kifejezés2 [ , jelölők-kifejezés ]]] ) A "karakterlánc-kifejezés" azon karakterláncrészét adja vissza, amely egyezik a "regex-kifejezés" reguláris kifejezéssel. A keresés az " egészszám-kifejezés1" pozíciónál kezdődik, amelynek alapértelmezett értéke 1. A keresendő minta előfordulását az "egészszám-kifejezés2" határozza meg, amelynek alapértelmezett értéke 1. A reguláris kifejezés értelmezéséhez használt beállítások jelölőit a "jelölők-kifejezés" határozza meg. Egyéni betűkkel határozhatók meg a jelölők, ahol az érvényes értékek a következők: 's', 'm', 'i' és 'x'. Például: substring_regex ( '.er' , 'Flicker Lantern') Eredmény: ker Például: substring_regex ( '.er' , 'Flicker Lantern' , 1 , 2 ) Eredmény: ter floor ( numerikus_kifejezés ) A "numerikus_kifejezés" paraméternél kisebb vagy azzal egyenlő legnagyobb egész számot adja vissza. Példa: floor ( 3,22 ) Eredmény: 3 Példa: floor ( -1,23 ) Eredmény: -2 width-bucket ( numerikus-kifejezés ,  minimális_érték ,  maximális_érték ,   tárolómezők_száma ) A függvény egy adott kifejezés esetében azoknak a tárolómezőknek a számát adja vissza, amelyekbe ennek a kifejezésnek az értéke esik az értékelés után. Példa: width-bucket ( Mennyiség ,  100 ,  5000 ,  10 ) Eredmény: Minden sor esetében az aktuális Mennyiség értékhez tartozó tárolómezők száma (0-11 között). Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numerikus_kifejezés ) Ez a trigonometriai függvény az argumentum szinuszát adja vissza, ahol az argumentum radiánban megadott szögérték. Példa: sin ( 0,1667 * 3,1415 ) Eredmény: 0,5. cos ( numerikus_kifejezés ) Ez a trigonometriai függvény az argumentum koszinuszát adja vissza, ahol az argumentum radiánban megadott szögérték. Példa: cos ( 0,3333 * 3,1415 ) Eredmény: 0,5. tan ( numerikus_kifejezés ) Ez a trigonometriai függvény az argumentum tangensét adja vissza, ahol az argumentum radiánban megadott szögérték. Példa: tan ( 0,25 * 3,1415 ) Eredmény: 1 arccos ( numerikus_kifejezés ) Ez az inverz trigonometriai függvény az argumentum arkusz koszinuszát adja vissza, ahol az argumentum értéktartománya -1 és 1 között van, az eredmény pedig radiánban megadott szögérték. Példa: arccos ( -1 ) Eredmény: 3,1415 arcsin ( numerikus_kifejezés ) Ez az inverz trigonometriai függvény az argumentum arkusz szinuszát adja vissza, ahol az argumentum értéktartománya -1 és 1 között van, az eredmény pedig radiánban megadott szögérték. Példa: arcsin ( 0 ) Eredmény: 3,1415 Ez az inverz trigonometriai függvény az argumentum arkusz tangensét adja vissza, ahol az argumentum értéktartománya -1 és 1 között van, az eredmény pedig radiánban megadott szögérték. arctan ( numerikus_kifejezés ) Példa: arctan ( 0 ) Eredmény: 3,1415 coshyp ( numerikus_kifejezés ) Ez a trigonometriai függvény az argumentum koszinusz hiperbolikuszát adja vissza, ahol az argumentum radiánban megadott szögérték. Példa: coshyp ( 0 ) Eredmény: 1 sinhyp ( numerikus_kifejezés ) Ez a trigonometriai függvény az argumentum szinusz hiperbolikuszát adja vissza, ahol az argumentum radiánban megadott szögérték. Példa: sinhyp ( 0 ) Eredmény: 0 tanhyp ( numerikus_kifejezés ) Ez a trigonometriai függvény az argumentum tangens hiperbolikuszát adja vissza, ahol az argumentum radiánban megadott szögérték. Példa: tanhyp ( 0 ) Eredmény: 0
SQL-99 OLAP-bővítmények cube cube ( csoportosítási_oszlop_hivatkozási_listája ) Ez a csoportosítási feltétel olyan csoportosításhalmaz-listát eredményez, amely a "csoportosítási_oszlop_hivatkozási_listája" paraméterben szereplő csoportosításoszlopok valamennyi lehetséges kombinációjához egy csoportosításhalmazt tartalmaz. rollup rollup ( csoportosítási_oszlop_hivatkozási_listája ) Ez a csoportosítási feltétel olyan csoportosításhalmaz-listát eredményez, amely a "csoportosítási_oszlop_hivatkozási_listája" minden érvényes részlistájához - az elemek jobbról kezdődő egyenkénti elvetésével képzett - megfelelő csoportosításhalmazt tartalmaz. grouping sets grouping sets ( csoportosításhalmaz-lista ) Ez a csoportosítási feltétel több halmazt határoz meg a csoportosítás alapjaként. rank rank () A sor rangját számítja ki az ablakpartícióban, ahol az x. sor rangja 1, plusz az x. sor előtti azon sorok száma, amelyek nem x társai. dense_rank dense_rank () A sor tömörített rangját számítja ki az ablakpartícióban, ahol az x. sor tömörített rangját az x előtti egyedi sorok száma határozza meg (x értékét is beleértve). percent_rank percent_rank () A sor százalékos rangját számítja ki az ablakpartícióban, ahol az x. sor százalékos rangját az (xy - 1) / (ab - 1) képlet adja meg, ahol xy az x rangja, ab pedig az ablakpartícióban lévő sorok száma. row_number row_number () Egy sor ablakpartíción belüli sorszámát számítja ki, az első sor az 1 értéket kapja. ntile ntile ( numerikus-kifejezés ) A rendezett adathalmazt a "numerikus_kifejezés" paraméterben megadott számú csoportra osztja, és minden sorhoz a megfelelő csoportszámot rendeli.