Dopasowywanie wzorców w zapytaniach SQL za pomocą symboli wieloznacznych

click fraud protection

Dopasowywanie wzorców SQL umożliwia wyszukiwanie wzorców w danych, jeśli nie znasz dokładnego słowa lub frazy, której szukasz. Ten rodzaj SQL zapytanie używa symboli wieloznacznych, aby dopasować wzorzec, zamiast określać go dokładnie. Na przykład możesz użyć symbolu wieloznacznego „C%”, aby dopasować dowolny ciąg rozpoczynający się od dużej litery C.

Szkło powiększające
Kate Ter Haar / Flickr/CC od 2.0

Korzystanie z operatora LIKE

Aby użyć wyrażenia wieloznacznego w zapytaniu SQL, użyj operatora LIKE w klauzuli WHERE i umieść wzorzec w pojedynczym cudzysłowie.

Używanie symbolu wieloznacznego % do wykonania prostego wyszukiwania

Aby wyszukać dowolnego pracownika w bazie danych o nazwisku zaczynającym się na literę C, użyj następującej instrukcji języka Transact-SQL:

WYBIERZ *
OD pracowników
GDZIE nazwisko LIKE 'C%'

Pomijanie wzorców za pomocą słowa kluczowego NOT

Użyj słowa kluczowego NOT, aby wybrać rekordy, które nie pasują do wzorca. Na przykład to zapytanie zwraca wszystkie rekordy, których nazwa jest ostatnia nie zacznij od C:

instagram viewer
WYBIERZ *
OD pracowników
GDZIE nazwisko NIE LIKE 'C%'

Dopasowywanie wzorca w dowolnym miejscu za pomocą % Wildcard dwa razy

Użyj dwóch wystąpień % symbol wieloznaczny, aby dopasować dowolny wzorzec w dowolnym miejscu. Ten przykład zwraca wszystkie rekordy zawierające literę C w dowolnym miejscu nazwiska:

WYBIERZ *
OD pracowników
GDZIE nazwisko LIKE '%C%'

Znajdowanie dopasowania wzoru w określonej pozycji

Użyj _ symbol wieloznaczny, aby zwrócić dane w określonej lokalizacji. Ten przykład pasuje tylko wtedy, gdy C występuje na trzeciej pozycji kolumny z nazwiskiem:

WYBIERZ *
OD pracowników
GDZIE nazwisko LIKE '_ _C%'

Obsługiwane wyrażenia wieloznaczne w Transact SQL

Istnieje kilka wyrażeń wieloznacznych obsługiwanych przez Transact SQL:

  • % symbol wieloznaczny dopasowuje zero lub więcej znaków dowolnego typu i może służyć do definiowania symboli wieloznacznych zarówno przed, jak i po wzorcu. Jeśli jesteś zaznajomiony z dopasowywaniem wzorców DOS, jest to odpowiednik symbolu wieloznacznego * w tej składni.
  • _ symbol wieloznaczny pasuje do dokładnie jednego znaku dowolnego typu. To odpowiednik ? symbol wieloznaczny w dopasowaniu wzorca DOS.
  • Określ listę znaków, umieszczając je w nawiasach kwadratowych. Na przykład symbol wieloznaczny [aee] pasuje do dowolnej samogłoski.
  • Określ zakres znaków, umieszczając go w nawiasach kwadratowych. Na przykład symbol wieloznaczny [jestem] pasuje do dowolnej litery z pierwszej połowy alfabetu.
  • Zanegować zakres znaków, umieszczając znak karatowy bezpośrednio w otwierającym nawiasie kwadratowym. Na przykład, [^aeiou] dopasowuje dowolny znak bez samogłoski, podczas gdy [^a-m] dopasowuje dowolny znak spoza pierwszej połowy alfabetu.

Łączenie symboli wieloznacznych dla złożonych wzorów

Połącz te symbole wieloznaczne w złożone wzorce, aby wykonywać bardziej zaawansowane zapytania. Załóżmy na przykład, że musisz stworzyć listę wszystkich pracowników, których nazwiska zaczynają się na literę z pierwszej połowy alfabetu, ale nie nie zakończyć samogłoską. Możesz użyć następującego zapytania:

WYBIERZ *
OD pracowników
GDZIE nazwisko LIKE '[a-m]%[^aeiou]'

Podobnie możesz skonstruować listę wszystkich pracowników z nazwiskami składającą się z dokładnie czterech znaków, używając czterech wystąpień _ wzór:

WYBIERZ *
OD pracowników
GDZIE nazwisko LIKE „____”

Jak widać, wykorzystanie możliwości dopasowania wzorców SQL daje użytkownikom bazy danych możliwość wyjścia poza proste zapytania tekstowe i wykonywania zaawansowanych operacji wyszukiwania.

instagram story viewer