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:
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;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.