Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Funktionsweise des RLIKE-Operators in MySQL

In MySQL ist das RLIKE -Operator wird verwendet, um festzustellen, ob eine Zeichenfolge mit einem regulären Ausdruck übereinstimmt oder nicht. Es ist ein Synonym für REGEXP_LIKE() .

Wenn die Zeichenfolge mit dem bereitgestellten regulären Ausdruck übereinstimmt, ist das Ergebnis 1 , andernfalls ist es 0 .

Syntax

Die Syntax lautet wie folgt:

expr RLIKE pat

Wobei expr ist die Eingabezeichenfolge und pat ist der reguläre Ausdruck, für den Sie die Zeichenfolge testen.

Beispiel

Hier ist ein Beispiel für die Verwendung dieses Operators in einem SELECT Aussage:

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

Ergebnis:

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

Der Rückgabewert ist in diesem Fall 1 was bedeutet, dass die Eingabezeichenfolge mit dem regulären Ausdruck übereinstimmt. Insbesondere haben wir festgelegt, dass die Eingabezeichenfolge mit Tw beginnen soll und enden mit t (Das liegt daran, dass wir das Muster mit ^Tw begonnen haben und beendete es mit t$ ). Der . part gibt ein beliebiges Zeichen an, und * gibt an, dass es Null bis zu einer beliebigen Anzahl dieses (beliebigen) Zeichens sein kann. Also .* bedeutet, dass zwischen Anfang und Ende keine Zeichen, ein Zeichen oder viele Zeichen stehen dürfen.

Folgendes passiert, wenn wir * löschen :

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

Ergebnis:

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

Das Rückgabeergebnis ist 0 was bedeutet, keine Übereinstimmung. Dies liegt daran, dass . gibt nur eine Instanz eines beliebigen Zeichens an. Unsere Eingabezeichenfolge enthält zwei Instanzen.

Hier sind einige Permutationen:

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';

Ergebnis:

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

Weitere Beispiele

Weitere Beispiele finden Sie unter MySQL REGEXP-Beispiele. Wie RLIKE , der REGEXP Operator ist auch ein Synonym für REGEXP_LIKE() .