Funkcia REGEXP_LIKE() v MySQL sa používa na porovnávanie vzorov. to porovnáva, či sa dané reťazce zhodujú s regulárnym výrazom alebo nie . Ak sa reťazce zhodujú s regulárnym výrazom, vráti 1 a ak sa nenájde žiadna zhoda, vráti 0.
Syntax
Nasleduje základná syntax na použitie tejto funkcie MySQL :
REGEXP_LIKE (expression, pattern [, match_type])
Vysvetlenie parametra
Vysvetlenie parametrov funkcie REGEXP_LIKE() je:
výraz: Je to vstupný reťazec, na ktorom vykonávame vyhľadávanie zhody regulárneho výrazu.
vzor: Predstavuje regulárny výraz, pre ktorý reťazec testujeme.
typ_zhody: Je to reťazec, ktorý nám umožňuje spresniť regulárny výraz. Na vykonanie párovania používa nasledujúce možné znaky.
Poďme pochopiť, ako môžeme použiť túto funkciu v MySQL s rôznymi príkladmi.
Príklad
Nasledujúce vyhlásenie vysvetľuje základný príklad funkcie REGEXP_LIKE v MySQL.
mysql> SELECT REGEXP_LIKE ('England or America', 'l.nd') AS Result;
V tomto príklade môže regulárny výraz zadať ľubovoľný znak namiesto bodky. Preto tu dostaneme zhodu. Takže táto funkcia vráti 1 na označenie zhody.
Nižšie uvedené vyhlásenie je ďalším príkladom, kde vstupný reťazec nezodpovedá danému regulárnemu výrazu.
mysql> SELECT REGEXP_LIKE ('MCA', 'BCA') AS Result;
Tu je výstup:
Oracle sql sa nerovná
Nasledujúci príkaz je ďalším príkladom, kde sa vyhľadáva zadaný regulárny výraz či reťazec končí danými znakmi alebo nie:
mysql> SELECT REGEXP_LIKE ('England Netherland Scotland', 'and$') AS Result;
Tu je výsledok:
Pomocou argumentov typu zhody môžeme poskytnúť ďalší parameter na spresnenie regulárneho výrazu. Pozrite si príklad nižšie, kde špecifikujeme a rozlišovať malé a veľké písmená a zhoda bez rozlišovania malých a veľkých písmen:
mysql> SELECT REGEXP_LIKE ('India Indonesia', '^in', 'i') AS 'Case-Insensitive', REGEXP_LIKE ('India Indonesia', '^in', 'c') AS 'Case-Sensitive';
Tu je výsledok: