środa, 19 września 2018

MySQL – Regexps

MySQL – Regexps


Widziałeś dopasowanie wzorców MySQL za pomocą LIKE ...%. MySQL obsługuje inny typ operacji porównywania wzorców na podstawie wyrażeń regularnych i operatora REGEXP. Jeśli znasz PHP lub PERL, możesz to zrozumieć bardzo łatwo, ponieważ to dopasowanie jest takie samo, jak w skryptach wyrażeń regularnych.
Poniżej znajduje się tabela wzorów, która może być używana wraz z operatorem REGEXP.
Wzór
Co oznacza wzór
^
Początek ciągu
$
Koniec ciągu
.
Dowolny pojedynczy znak
[...]
Dowolny znak umieszczony między nawiasami kwadratowymi
[^...]
Dowolny znak niewymieniony pomiędzy nawiasami kwadratowymi
p1|p2|p3
Alternatywa; pasuje do dowolnego wzorca p1, p2 lub p3
*
Zero lub więcej wystąpień poprzedniego elementu
+
Jedna lub więcej instancji poprzedniego elementu
{n}
n wystąpień poprzedniego elementu
{m,n}
m do n wystąpień poprzedniego elementu

Przykłady
Teraz na podstawie powyższej tabeli możesz ćwiczyć różne typy zapytań SQL, aby spełnić Twoje wymagania. Tutaj wymieniam kilka dla twojego zrozumienia.
Rozważmy, że mamy tabelę o nazwie osoby_tbl i ma ona pole, które nazywa się  nazwisko -
Zapytanie, aby znaleźć wszystkie nazwiska zaczynające się na "ko" -
mysql> SELECT nazwisko FROM osoby_tbl WHERE nazwiskko REGEXP '^ko';
Zapytanie, aby znaleźć wszystkie nazwiska kończące się na „ski”
mysql> SELECT nazwisko FROM osoby_tbl WHERE nazwisko REGEXP 'ski$';
Zapytanie, aby znaleźć wszystkie nazwiska, które zawierają "mar" 
mysql> SELECT nazwisko FROM osoby_tbl WHERE nazwisko REGEXP 'mar';
Zapytanie, aby znaleźć wszystkie nazwiska zaczynające się od samogłoski i kończące się na "ok" -
mysql> SELECT nazwisko FROM osoby_tbl WHERE nazwisko REGEXP '^[aeiou]|ok$';



Brak komentarzy:

Prześlij komentarz