logo

Funkcia MySQL REGEXP_LIKE().

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.

    c:Predstavuje zhodu s veľkosťou písmen.ja:Predstavuje párovanie bez ohľadu na veľkosť písmen.m:Predstavuje viacriadkový režim, ktorý rozpoznáva zakončenia riadkov v reťazci. V predvolenom nastavení sa táto funkcia zhoduje so zakončeniami riadkov na začiatku a na konci reťazca.n:Používa sa na úpravu . (bodka) na zhodu so zakončeniami riadkov. V predvolenom nastavení sa zastaví na konci riadku.v:Predstavuje len konce riadkov pre Unix, ktoré rozpoznávajú iba znak nového riadku pomocou operátorov zhody ., ^ a $.

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.

Funkcia podobná regulárnemu výrazu MySQL

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á
Funkcia podobná regulárnemu výrazu MySQL

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:

Funkcia podobná regulárnemu výrazu MySQL

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:

Funkcia podobná regulárnemu výrazu MySQL