MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie RLIKE in MariaDB funktioniert

In MariaDB die RLIKE -Operator wird verwendet, um festzustellen, ob eine Zeichenfolge mit einem regulären Ausdruck übereinstimmt oder nicht. Es ist ein Synonym für REGEXP .

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' RLIKE '^Tw.*t$';

Ergebnis:

+-------------------------+
| 'Tweet' RLIKE '^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 angegeben, dass die Eingabezeichenfolge mit Tw beginnen sollte 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' RLIKE '^Tw.t$';

Ergebnis:

+------------------------+
| 'Tweet' RLIKE '^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' RLIKE '^Tw.t$' AS "Twet",
  'Twit' RLIKE '^Tw.t$' AS "Twit",
  'Twt' RLIKE '^Tw.t$' AS "Twt",
  'Tw.t' RLIKE '^Tw.t$' AS "Tw.t";

Ergebnis:

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