|
![]() | CHAR_LENGTH, OCTET_LENGTH, BIT_LENGTH | ![]() | Funkce definované normou SQL | UPPER, LOWER | ![]() |
SUBSTRING ( str FROM start [ FOR délka ] )
Funkce SUBSTRING vybírá podřetězec ze znakového nebo binárního řetězce, CLOBu nebo BLOBu str (včetně unicodových řetězců). Podřetězec začíná od pozice start a sahá nejvýše do konce argumentu str. Je-li uvedena délka, pak výsledný řetězec není delší než tato délka.
Parametry start a délka musí být celočíselné. Pozice v řetězci se číslují od 1. Je-li některý argument NULL, pak výsledek je NULL.
Před verzí 8.0 byl typ hodnoty této funkce vždy stejný jako typ argumentu str. Od verze 8.0 je-li uvedena délka, je-li to celočíselná konstanta a nepřevyšuje-li maximální možnou délku řetězce, pak:
v ostatních případech je typ hodnoty funkce stejný jako typ argumentu str. Tato změna umožňuje využít funkci SUBSTRING pro efektivní tvorbu indexových výrazů.
Příklad použití:
Test, začíná-li hodnota proměnné znakem X:
IF SUBSTRING(Polozka FROM 1 FOR 1) = 'X' THEN
UPDATE SET cena = cena*1.1 WHERE CURRENT OF curcen;
Viz
![]() | CHAR_LENGTH, OCTET_LENGTH, BIT_LENGTH | ![]() | Funkce definované normou SQL | UPPER, LOWER | ![]() |