sql >> Databasteknik >  >> RDS >> Mysql

Hur RLIKE-operatören fungerar i MySQL

I MySQL, RLIKE operatorn används för att avgöra om en sträng matchar ett reguljärt uttryck eller inte. Det är en synonym för REGEXP_LIKE() .

Om strängen matchar det angivna reguljära uttrycket blir resultatet 1 , annars är det 0 .

Syntax

Syntaxen ser ut så här:

expr RLIKE pat

Där expr är inmatningssträngen och pat är det reguljära uttrycket som du testar strängen mot.

Exempel

Här är ett exempel på hur du använder den här operatorn i en SELECT uttalande:

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

Resultat:

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

I det här fallet är returvärdet 1 vilket betyder att inmatningssträngen matchade det reguljära uttrycket. Speciellt specificerade vi att inmatningssträngen skulle börja med Tw och avsluta med t (detta beror på att vi startade mönstret med ^Tw och avslutade det med t$ ). . del anger vilket tecken som helst och * anger att det kan vara noll till valfritt tal av det (vilket som helst) tecken. Alltså .* betyder att det inte kan finnas några tecken, ett tecken eller många tecken mellan början och slutet.

Här är vad som händer om vi släpper * :

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

Resultat:

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

Returresultatet är 0 vilket betyder ingen match. Detta beror på att . anger endast en instans av ett tecken. Vår indatasträng innehåller två instanser.

Här är några 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 |
+------+------+-----+------+

Fler exempel

För fler exempel, se MySQL REGEXP-exempel. Gilla RLIKE , REGEXP operator är också en synonym för REGEXP_LIKE() .


  1. En datamodell för peer-to-peer-utlåningsplattform

  2. Hur man skapar VARRAYs som PL/SQL-blockmedlem i Oracle Database

  3. Vilken är den bästa sammanställningen att använda för MySQL med PHP?

  4. Kodtäckningsstatistik