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

Ide o doplnkové funkcie, použiteľné v SQL príkazoch, ktoré boli v niektorých častiach systému potrebné a ktoré databáza Firebird natívne neposkytovala, preto boli výrobcom doplnené a pre používateľov Firebird sú dodávané v zodpovedajúcich knižniciach (súbory nxudf*.dll resp. libnxudf*.so) v rámci inštalácie systému ABRA Gen. Prefix ib_ v názve funkcie je odvodený od Interbase (predchodcu Firebird).

V databázach Oracle a MSSQL je situácia odlišná, keďže obsahujú mnoho ľahko použiteľných vstavaných funkcií, ktoré sú v ABRA Gen použité. Avšak niektoré z "IB_funkcií" boli prevedené aj na tieto platformy, preto sú tu automaticky k dispozícii v podobe databázových funkcií. Pre lepšiu orientáciu sú definované pod rovnakým názvom, pod ktorým boli pôvodne zavedené pre Firebird.

Viac viď popis Štruktúry a definície GenDoc.chm. Kap. Zoznam externých funkcií.

Dostupnosť funkcií sa pre jednotlivé databázové platformy môže odlišovať, viď posledné dva stĺpce v tabuľke.

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 vo formát excel (OLE). SELECT ib_dayofweek(43578) ... 3 x x
ib_decodedate_day Vráti deň z dát zadaných vo formát excel (OLE). SELECT ib_decodedate_day(43578) ... 23 x x
ib_decodedate_month Vráti mesiac z dátumu zadaného vo formáte excel (OLE). SELECT ib_decodedate_month(43578) ... 4 x x
ib_decodedate_year Vráti rok z dátumu zadaného vo formáte excel (OLE). SELECT ib_decodedate_year(43578) ... 2019 x x
ib_decodetime_hour Vráti hodiny z času zadaného vo formáte excel (OLE). SELECT ib_decodetime_hour(43578.21) ... 5 x x
ib_decodetime_min Vráti minúty z času zadaného vo formáte excel (OLE). SELECT ib_decodetime_hour(43578.21) ... 2 x x
ib_decodetime_sec Vráti sekundy z času zadaného vo formáte excel (OLE). SELECT ib_decodetime_hour(43578.21) ... 24 x x
ib_delete_token Odstráni začiatok reťazca zadaného v prvom parametri až po prvý výskyt znaku zadaného v druhom parametri vrátane. SELECT ib_delete_token('abcdef', 'c') ... 'def' x x
ib_encodedate Vytvorí dátum v excel (OLE) formáte zo zadaného roku, mesiaca a dňa. SELECT ib_encodedate(2019, 4, 23) ... 43578 x x
ib_endofdecade Vráti dátum konca dekády v mesiaci v excel (OLE) formáte. SELECT ib_endofdecade(43578) ... 43586 x x
ib_find_token Vráti pozíciu prvého výskytu zadaného reťazca. SELECT ib_find_token('abcdef', 'cd') ... 3 - x
ib_get_token Vráti začiatok reťazca pred prvým výskytom oddeľovača. 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áti prefix reprezentujúci definovateľnú položku (tento variant funkcie zohľadňuje aj extra položky). SELECT ib_gets_u2_prefix('A', 'A') ... 'Y_' x x
ib_greatest Vráti väčšiu z dvoch zadaných číselných hodnôt. SELECT ib_greatest(5, 8) ... 8 - x
ib_incoid Vráti nasledujúci identifikátor. Pri generovaní kódov identifikátorov sa používa sústava so základom 36. SELECT ib_incoid('1010000101') ... '2010000101' x x
ib_isleapyear Určuje, či je daný rok priestupný. (pre priestupné roky vracia 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áti menšiu z dvoch zadaných číselných hodnôt. SELECT ib_least(5, 8) ... 5 - x
ib_lpad Vráti reťazec zadaný v prvom parametri, doplnený zľava znakmi zadanými v treťom parametri na celkovú dĺžku zadanú v druhom parametri. 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 odovzdaný reťazec zapísaný odzadu. SELECT ib_reversestring('abcdef') ... 'fedcba' x x
ib_string_left Vráti prvých n znakov z reťazca. SELECT ib_string_left('abcdef', 3) ... 'abc' x x
ib_string_length Vráti dĺžku reťazca. SELECT ib_string_length('abcdef') ... 6 -- x
ib_string_replace V reťazci zadanom v prvom parametri nahradí výskyt reťazca zadaného v druhom parametri reťazcom zadaným v treťom parametri. SELECT ib_string_replace('abcdef', 'cd', 'xy') ... 'abxyef' - x
ib_string_right Vráti posledných n znakov z reťazca. SELECT ib_string_right('abcdef', 3) ... 'def' x x