Seznam UDF funkcí (uživatelsky definovaných funkcí)

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ázvu funkce je odvozen od Interbase (předchůdce Firebird).

U databází Oracle a MSSQL je situace odlišná, jelikož obsahují mnoho snadno použitelných vestavěných funkcí, které jsou v ABRA Gen použity. 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ázev Popis Příklad Výsledek Oracle MS SQL
ib_convchartoint Převede řetězec na celé číslo. SELECT ib_convchartoint('1234') ... 1234 x x
ib_correct_phone_number Vrátí číslice z telefonního čísla. SELECT ib_correct_phone_number('+1-541-754-3010') ... '15417543010' x x
ib_datetostring Převede datum do řetězce. SELECT ib_datetostring(43578, 'dd.mm.yyyy') ... '23.4.2019' x x
ib_dayofweek Vrátí číslo dne v týdnu pro datum v excel (OLE) formátu. SELECT ib_dayofweek(43578) ... 3 x x
ib_decodedate_day Vrátí den z data zadaného v excel (OLE) formátu. SELECT ib_decodedate_day(43578) ... 23 x x
ib_decodedate_month Vrátí měsíc z data zadaného v excel (OLE) formátu. SELECT ib_decodedate_month(43578) ... 4 x x
ib_decodedate_year Vrátí rok z data zadaného v excel (OLE) formátu. SELECT ib_decodedate_year(43578) ... 2019 x x
ib_decodetime_hour Vrátí hodiny z času zadaného v excel (OLE) formátu. SELECT ib_decodetime_hour(43578.21) ... 5 x x
ib_decodetime_min Vrátí minuty z času zadaného v excel (OLE) formátu. SELECT ib_decodetime_hour(43578.21) ... 2 x x
ib_decodetime_sec Vrátí sekundy z času zadaného v excel (OLE) formátu. 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_encodedate Vytvoří datum v excel (OLE) formátu ze zadaného roku, měsíce a dne. SELECT ib_encodedate(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átí prefix reprezentující definovatelnou 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átí 'A', pokud řetězec není prázdný. V opačném případě vrátí '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 Odstraní diakritiku z řetězce kódovaného v CP1250.

SELECT ib_remove_diacritics('přání')...

'prani'

- x
ib_reversestring Vrátí předaný řetězec zapsaný 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