sql >> Database teknologi >  >> RDS >> Mysql

Sådan fungerer RLIKE-operatøren i MySQL

I MySQL er RLIKE operator bruges til at bestemme, om en streng matcher et regulært udtryk. Det er et synonym for REGEXP_LIKE() .

Hvis strengen matcher det angivne regulære udtryk, er resultatet 1 , ellers er det 0 .

Syntaks

Syntaksen ser sådan ud:

expr RLIKE pat

Hvor expr er inputstrengen og pat er det regulære udtryk, som du tester strengen for.

Eksempel

Her er et eksempel på, hvordan du bruger denne operator i en SELECT erklæring:

SELECT 'Tweet' REGEXP '^Tw.*t$';

Resultat:

+--------------------------+
| 'Tweet' REGEXP '^Tw.*t$' |
+--------------------------+
|                        1 |
+--------------------------+

I dette tilfælde er returværdien 1 hvilket betyder, at inputstrengen matchede det regulære udtryk. Vi specificerede især, at inputstrengen skulle starte med Tw og afslutte med t (det er fordi vi startede mønsteret med ^Tw og afsluttede det med t$ ). . del angiver ethvert tegn og * angiver, at det kan være nul til et hvilket som helst tal af det (enhver) tegn. Så .* betyder, at der ikke kan være tegn, ét tegn eller mange tegn mellem start og slut.

Her er, hvad der sker, hvis vi dropper * :

SELECT 'Tweet' REGEXP '^Tw.t$';

Resultat:

+-------------------------+
| 'Tweet' REGEXP '^Tw.t$' |
+-------------------------+
|                       0 |
+-------------------------+

Returresultatet er 0 hvilket betyder ingen match. Dette er fordi . angiver kun én forekomst af ethvert tegn. Vores inputstreng indeholder to forekomster.

Her er nogle permutationer:

SELECT 
  'Twet' REGEXP '^Tw.t$' AS 'Twet',
  'Twit' REGEXP '^Tw.t$' AS 'Twit',
  'Twt' REGEXP '^Tw.t$' AS 'Twt',
  'Tw.t' REGEXP '^Tw.t$' AS 'Tw.t';

Resultat:

+------+------+-----+------+
| Twet | Twit | Twt | Tw.t |
+------+------+-----+------+
|    1 |    1 |   0 |    1 |
+------+------+-----+------+

Flere eksempler

For flere eksempler, se MySQL REGEXP Eksempler. Ligesom RLIKE , REGEXP operator er også et synonym for REGEXP_LIKE() .


  1. Konverter et månedsnummer til månedsnavnet i SQL Server (T-SQL)

  2. Kolonneantal stemmer ikke overens med værdiantallet i række 1

  3. Hurtigste måde at opdatere 120 millioner poster på

  4. Sådan opsætter du en WordPress MySQL-database i skyen