Zoznam UDF funkcií (užívateľsky definovaných funkcií)

Jedná se o doplňkové funkce, použitelné v SQL příkazech, které byly v některých částech systému potřebné a které databáze Firebird nativně neposkytovala, tudíž byly výrobcem doplněny a pro uživatele Firebird jsou dodávány v odpovídajících knihovnách (soubory nxudf*.dll resp. libnxudf*.so) v rámci instalace systému ABRA Gen. Prefix ib_ v názve funkcie je odvodený od Interbase (predchodca Firebird).

V prípade databáz Oracle a MSSQL je situácia odlišná, pretože obsahujú mnoho ľahko použiteľných vstavaných funkcií, ktoré sú v ABRA Gen použité. Nicméně některé z "IB_funkcí" byly převedeny i na tyto platformy, tudíž jsou zde automaticky k dispozici v podobě databázových funkcí. Pro lepší orientaci jsou definovány pod stejným názvem, pod kterým byly původně zavedeny pro Firebird.

Více viz popis Struktury a definice GenDoc.chm. Kap. Seznam externích funkcí.

Dostupnost funkcí se pro jednotlivé databázové platformy může odlišovat, viz poslední dva sloupce v tabulce.

Názov Popis Príklad Výsledok Oracle MS SQL
ib_convchartoint Prevedie reťazec na celé číslo. SELECT ib_convchartoint('1234') ... 1234 x x
ib_correct_phone_number Vráti číslice z telefónneho čísla. SELECT ib_correct_phone_number('+1-541-754-3010') ... '15417543010' x x
ib_datetostring Prevedie dátum do reťazca. SELECT ib_datetostring(43578, 'dd.mm.yyyy') ... '23.4.2019' x x
ib_dayofweek Vráti číslo dňa v týždni pre dátum v excel (OLE) formáte. SELECT ib_dayofweek(43578) ... 3 x x
ib_decodedate_day Vráti deň z dátumu zadaného v excel (OLE) formáte. SELECT ib_decodedate_day(43578) ... 23 x x
ib_decodedate_month Vráti mesiac z dátumu zadaného v excel (OLE) formáte. SELECT ib_decodedate_month(43578) ... 4 x x
ib_decodedate_year Vráti rok z dátumu zadaného v excel (OLE) formáte. SELECT ib_decodedate_year(43578) ... 2019 x x
ib_decodetime_hour Vráti hodiny z času zadaného v excel (OLE) formáte. SELECT ib_decodetime_hour(43578.21) ... 5 x x
ib_decodetime_min Vráti minúty z času zadaného v excel (OLE) formáte. SELECT ib_decodetime_hour(43578.21) ... 2 x x
ib_decodetime_sec Vráti sekundy z času zadaného v excel (OLE) formáte. SELECT ib_decodetime_hour(43578.21) ... 24 x x
ib_delete_token Odstraní začátek řetězce zadaného v prvním parametru až po první výskyt znaku zadaného ve druhém parametru včetně. SELECT ib_delete_token('abcdef', 'c') ... 'def' x x
ib_encode_date Vytvorí dátum v excel (OLE) formáte zo zadaného roku, mesiaca a dňa. SELECT ib_encode_date(2019, 4, 23) ... 43578 x x
ib_endofdecade Vrátí datum konce dekády v měsíci v excel (OLE) formátu. SELECT ib_endofdecade(43578) ... 43586 x x
ib_find_token Vrátí pozici prvního výskytu zadaného řetězce. SELECT ib_find_token('abcdef', 'cd') ... 3 - x
ib_get_token Vrátí začátek řetězce před prvním výskytem oddělovače. SELECT ib_get_token('abcdef', 'cd') ... 'ab' x x
ib_gets_u_prefix Vráti prefix reprezentujúci definovateľnú položku. SELECT ib_gets_u_prefix('A') ... 'S_' x x
ib_gets_u2_prefix Vrátí prefix reprezentující definovatelnou položku (tato varianta funkce zohledňuje i extra položky). SELECT ib_gets_u2_prefix('A', 'A') ... 'Y_' x x
ib_greatest Vrátí větší ze dvou zadaných číselných hodnot. SELECT ib_greatest(5, 8) ... 8 - x
ib_incoid Vrátí následující identifikátor. Při generování kódů identifikátorů se používá soustava o základu 36. SELECT ib_incoid('1010000101') ... '2010000101' x x
ib_isleapyear Určuje, zda je daný rok přestupný. (pro přestupné roky vrací hodnotu 1). SELECT ib_isleapyear('2020') ... 1 - x
ib_isnotnull Vráti 'A', ak reťazec nie je prázdny. V opačnom prípade vráti 'N'. SELECT ib_isnotnull('abcdef')v 'A' x x
ib_least Vrátí menší ze dvou zadaných číselných hodnot. SELECT ib_least(5, 8) ... 5 - x
ib_lpad Vrátí řetězec zadaný v prvním parametru, doplněný zleva znaky zadanými ve třetím parametru na celkovou délku zadanou ve druhém parametru. SELECT ib_lpad('123', 6, '0') ... '000123' - x
ib_remove_diacritics Odstráni diakritiku z reťazca kódovaného v CP1250.

SELECT ib_remove_diacritics('želanie')...

'zelanie'

- x
ib_reversestring Vráti predaný reťazec zapísaný odzadu. SELECT ib_reversestring('abcdef') ... 'fedcba' x x
ib_string_left Vrátí prvních n znaků z řetězce. SELECT ib_string_left('abcdef', 3) ... 'abc' x x
ib_string_length Vrátí délku řetězce. SELECT ib_string_length('abcdef') ... 6 -- x
ib_string_replace V řetězci zadaném v prvním parametru nahradí výskyt řetězce zadaného ve druhém parametru řetězcem zadaným ve třetím parametru. SELECT ib_string_replace('abcdef', 'cd', 'xy') ... 'abxyef' - x
ib_string_right Vrátí posledních n znaků z řetězce. SELECT ib_string_right('abcdef', 3) ... 'def' x x