|
![]() | Predikát UNIQUE | ![]() | Podmínky a predikáty | Predikát IS NULL | ![]() |
predikát_LIKE ::= výraz [ NOT ] LIKE výraz2 [ ESCAPE výraz3 ]
Predikát LIKE slouží k porovnávání výrazu se vzorem zadaným výrazem2. Všechny výrazy musí být typu řetězec znaků.
Obsah výrazu se porovnává s výrazem2 znak po znaku s těmito výjimkami: znak _ (podtržítko) ve výrazu2 odpovídá libovolnému znaku ve výrazu a znak % (procento) ve výrazu2 odpovídá libovolnému řetězci znaků (případně i prázdnému) ve výrazu1.
Je-li uveden výraz3, pak jeho hodnotou musí být jediný znak, jinak nastane chybový sqlstate 22019. Pokud je tento znak použit ve výrazu2 bezprostředně před znakem _ nebo %, pak tato dvojice reprezentuje znak _ resp. %, jemuž musí ve výrazu odpovídat stejný znak.
Existuje-li způsob, jak podle těchto pravidel srovnat všechny znaky ve výrazu a výrazu2, predikát má hodnotu TRUE, jinak má hodnotu FALSE.
Od verze 9.5 existuje v SQL možnost pracovat s regulárními výrazy - viz funkce REGEXP_LIKE.
Příklad použití:
Najít jména končící na "ová" z Prahy
SELECT Zamestnanci.jmeno
FROM Zamestnanci
WHERE (jmeno LIKE '%ová') AND (mesto LIKE 'Praha%')
Najít kód, který má na druhém místě řetězce znak %:
...
WHERE kod LIKE '_\%%' ESCAPE '\'
![]() | Predikát UNIQUE | ![]() | Podmínky a predikáty | Predikát IS NULL | ![]() |