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

Zde naleznete funkce použitelné v SQL příkazech.

Jedná se o doplňkové funkce, 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 IS FLORES. Prefix ib_ v názvu funkce je odvozen od Interbase (předchůdce Firebird). Funkce jsou definovány v syntaxi jazyka C.

U databáze MSSQL je situace odlišná, jelikož obsahuje mnoho okamžitě použitelných vestavěných funkcí. Proto v příslušných částech programu bylo možné použít přímo některou z vestavěných. Nicméně několik z "IB_funkcí" bylo přepsáno i do Oracle (pro lepší orientaci pod stejným názvem, pod nímž byly původně zavedeny pro FB) a uživatel je tudíž může využívat.

V následující tabulce je uveden jejich seznam:

Název Popis Syntaxe
ib_string_left Vrací prvních n znaků. char * ib_string_left(const char *s, const int *n)
ib_string_right Vrací posledních n znaků. char * ib_string_right(const char *s, const int *n)
ib_get_token Vrací část řetězce. Jednotlivé části řetězce jsou odděleny znakem sep. char * ib_get_token(const char *s, const char *sep)
ib_delete_token Smaže část řetězce. char * ib_delete_token(const char *s, const char *sep)
ib_reversestring Vrátí předaný řetězec zapsaný odzadu. char * ib_reversestring(const char *s)
ib_quote_literal Připraví řetězcovou hodnotu pro použití v SQL příkazu. char *ib_quote_literal(const char *s)
ib_dayofweek Vrátí číslo dne v týdnu pro datum v excel (OLE) formátu. int ib_dayofweek(const double *date)
ib_datetostring Převede datum do řetězce. char * ib_datetostring(const double *date, const char *format)
ib_gets_u_prefix Vrátí prefix reprezentující definovatelnou položku. Pro ib_gets_u_prefix('A') vrátí "S_". char * ib_gets_u_prefix(const char *system)
ib_gets_u2_prefix Vrátí prefix reprezentující definovatelnou položku (zohledňuje i "extra" položky). Pro ib_gets_u_prefix('A', 'A') vrátí "Y_". char * ib_gets_u2_prefix(const char *system, , const char *extra)
ib_correct_phone_number Vrátí číslice z telefonního čísla. char * ib_correct_phone_number(const char *s)
ib_incoid Vrátí identifikátor objektu obrácený naruby char * ib_incoid(const char *s)
ib_remove_diacritics Odstraní diakritiku ze stringu kódovaného ve CP1250. char * ib_remove_diacritics(const char *s)
ib_decodedate_year Vrátí rok z data zadaného v excel (OLE) formátu. int ib_decodedate_year(const double *date)
ib_decodedate_month Vrátí měsíc z data zadaného v excel (OLE) formátu. int ib_decodedate_month(const double *date)
ib_decodedate_day Vrátí den z data zadaného v excel (OLE) formátu. int ib_decodedate_day(const double *date)
ib_decodetime_hour Vrátí hodiny z času zadaného v excel (OLE) formátu.

 

ib_decodetime_min Vrátí minuty z času zadaného v excel (OLE) formátu. int ib_decodetime_min(const double *date)
ib_decodetime_sec Vrátí sekundy z času zadaného v excel (OLE) formátu. int ib_decodetime_sec(const double *date)
ib_encodedate Vytvoří datum v excel (OLE) formátu ze zadaného roku, měsíce a dne. double ib_encodedate(const int *year, const int *month, const int *day)
ib_isleapyear Indikuje, zda je daný rok přestupný. int ib_isleapyear(const int *year)
ib_convchartoint Převede řetězec na celé číslo.

int ib_convchartoint(const char *s)

ib_greatest Vrátí maximum ze zadaných hodnot. double ib_greatest(const double *d1, const double *d2)
ib_least Vrátí minimum ze zadaných hodnot. double ib_least(const double *d1, const double *d2)
ib_lpad Vrátí zadaný string, doplněný zleva znaky pad_char na celkovou délku len. char * ib_lpad(const char *s, const int *len, const char *pad_char)
ib_isnotnull Vrátí 'A', pokud řetězec není prázdný. V opačném případě vrátí 'N'.

char * ib_isnotnull(const char *s)

ib_endofdecade Vrátí datum konce dekády v měsíci.

double ib_endofdecade(const double *date)

ib_scbcreate Interní funkce pro tisk peněžního deníku. intptr_t ib_scbcreate(void)
ib_scbaddrow Interní funkce pro tisk peněžního deníku. int ib_scbaddrow(intptr_t *scbdocument, const char *type, const double *amount, const double *vat)
ib_scbaddpayment Interní funkce pro tisk peněžního deníku. int ib_scbaddpayment(intptr_t *scbdocument, const double *amount)
ib_scbstartcreditnote Interní funkce pro tisk peněžního deníku. int ib_scbstartcreditnote(intptr_t *scbdocument)
ib_scbaddcreditnote Interní funkce pro tisk peněžního deníku. int ib_scbaddcreditnote(intptr_t *scbdocument, const char *type, const double *amount, const double *vat)
ib_scbisaffectedrows Interní funkce pro tisk peněžního deníku. int ib_scbisaffectedrows(intptr_t *scbdocument)
ib_scbreadtype Interní funkce pro tisk peněžního deníku. char * ib_scbreadtype(intptr_t *scbdocument)
ib_scbreadamount Interní funkce pro tisk peněžního deníku. double ib_scbreadamount(intptr_t *scbdocument)
ib_scbreadvat Interní funkce pro tisk peněžního deníku. double ib_scbreadvat(intptr_t *scbdocument)
ib_scbclear Interní funkce pro tisk peněžního deníku. int ib_scbclear(intptr_t *scbdocument)
ib_scbfree Interní funkce pro tisk peněžního deníku. int ib_scbfree(intptr_t *scbdocument)
ib_find_token Vrací pozici prvního výskytu zadaného řetězce. int ib_scbfree(intptr_t *scbdocument)
ib_greatest Vrátí maximum ze zadaných hodnot. int ib_scbfree(intptr_t *scbdocument)
ib_isleapyear Indikuje, zda je daný rok přestupný. int ib_scbfree(intptr_t *scbdocument)
ib_least Vrátí minimum ze zadaných hodnot. int ib_scbfree(intptr_t *scbdocument)
ib_lpad Vrátí zadaný string, doplněný zleva znaky pad_char na celkovou délku len. int ib_scbfree(intptr_t *scbdocument)
ib_remove_diacritics Odstraní diakritiku ze stringu kódovaného ve CP1250. int ib_scbfree(intptr_t *scbdocument)
ib_string_length Vrací délku řetězce. int ib_scbfree(intptr_t *scbdocument)
ib_string_replace V řetězci s nahradí výskyt afrom za ato. int ib_scbfree(intptr_t *scbdocument)