Jak używać Regex na serwerze SQL z podobnym operatorem

Jak używać Regex na serwerze SQL z podobnym operatorem
Wyrażenia regularne są podstawową umiejętnością dla każdego, kto chce szukać i manipulować strunami. Możesz określić precyzyjne i złożone wyrażenia za pomocą Regex w celu znalezienia i zastąpienia różnych ciągów i wzorów. W narzędziach, takich jak SSMS, możesz określić wzorce wyrabiarki w opcji Znajdź i znajdź i wymień.

W tym przewodniku przyjrzymy się jednak wykonywaniu zapytań wyrażeń regularnych w T-SQL za pomocą podobnych operatorów.

Uwaga: Wyrażenia regularne są kompleksowym tematem i nie można ich wyczerpać w jednym samouczku. Zamiast tego skupimy się na najbardziej komendzie i przydatnej regex, której możesz użyć w codziennych operacjach bazy danych.

W T-SQL możemy zdefiniować wyrażenia regularne za pomocą operatora podobnego. Operator przyjmie pasujące wyrażenie i znajdzie wszystkie pasujące wzorce.

Istnieją różne rodzaje wyrażeń regularnych na serwerze SQL:

  1. Alfabetyczna regex
  2. Numerical Regex
  3. Regex znaku specjalnego
  4. Regex wrażliwy na obudowę
  5. Wykluczenie Regex

Pozwól nam zrozumieć, w jaki sposób możemy zdefiniować wyrażenie regularne na SQL Server.

SQL Server Regularne Wyrażenia

Zrozumiemy, jak korzystać z wyrażeń regularnych w SQL Server, korzystając z praktycznych przykładów. W tym artykule użyjemy przykładowej bazy danych SalesDB.

Możesz pobrać przykładową bazę danych z następującego zasobu:

Przykład 1

Poniższe przykładowe zapytanie wykorzystuje wyrażenie regularne, aby znaleźć nazwę produktów, zaczynając od litery L:

Użyj SalesDB;
Wybierz nazwę z produktów, w których nazwa „[L]%”;

Poprzednie zapytanie powinno znaleźć pasujące wzorce i zwrócić wynik, jak pokazano:

Przykład 2

Filtrujemy do dopasowywania produktów w powyższym przykładzie, zaczynając od litery L. Aby filtrować pierwsze i drugie litery, możemy zrobić:

Wybierz nazwę z produktów, w których nazwa „[L] [o]%”;

Zapytanie powinno zwrócić nazwy produktów, zaczynając od LO. Powstały zestaw jest pokazany jako:

Przykład 3

Aby filtrować przez ponad dwie litery, określ każdą literę w swoich kwadratowych nawiasach, jak pokazano:

Wybierz nazwę z produktów, w których nazwa „[l] [o] [c] [k]%”;

Powstały zestaw jest pokazany jako:

Przykład 4

Załóżmy, że chcesz filtrować produkty pasujące do określonego zakresu ciągów. Na przykład produkty zaczynające się od znaków między L - P:

Wybierz nazwę z produktów, w których nazwa „[L-p]%”;

Powstały zestaw jest jak pokazany:

Przykład 5

Możesz także filtrować dla wielu warunków dopasowywania w jednym zapytaniu, jak pokazano:

Wybierz nazwę z produktów, w których nazwa „[L-P] [A-O]%”;

Przykładowym zestawem wyników jest:

Przykład 6

Załóżmy, że chcesz uzyskać produkty kończące się na konkretnej postaci? W takim przypadku możesz zmienić pozycję procentu, jak pokazano:

Wybierz nazwę z produktów, w których nazwa „%[PE]”;

Wyniki są jak pokazane:

Przykład 7

Aby filtrować w wyniku uzyskania i zakończenia z określonymi znakami, możesz uruchomić zapytanie jako:

Wybierz * z produktów, w których nazwa „[do]%[re]”;

Powyższe zapytanie powinno zwrócić zestaw wyników jako:

Przykład 8

Co jeśli chcesz wykluczyć określone znaki z zapytania filtra? Możesz użyć ^ wykluczyć postacie.

Na przykład, aby wszystkie produkty zaczynają się od wszystkich innych postaci oprócz A do M, możemy zrobić:

Wybierz * z produktów, w których nazwa „[^a-m]%”;

Wyniki powinny wykluczyć literę A do M.

Przykład 9

Załóżmy, że chcesz znaleźć produkty, w których nazwa zawiera liczbę? Możemy uruchomić zapytanie, jak pokazano:

Wybierz * z produktów, w których nazwa „%[0-9]”;

Wynik powinien być jak pokazany:

Uwaga: możesz użyć operatora nie podobnego do negowania wyniku wyrażenia regularnego.

Wniosek

W tym artykule nauczyłeś się korzystać z wyrażeń regularnych w SQL Server za pomocą operatora podobnego. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź więcej artykułów z podpowiedzi Linux, aby uzyskać wskazówki i informacje, a możesz dowiedzieć się więcej o Regex w dokumentach SQL Server.