Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

SQL: Wieloznaczniki

wtorek,

SQL: Wieloznaczniki

W języku SQL wieloznaczniki (ang. wildcards) są używane w połączeniu z operatorem LIKE w celu filtrowania wyników zapytania zgodnie z określonym wzorcem. Są one często stosowane w zapytaniach SELECT, aby wyszukiwać i dopasowywać dane zawierające określone sekwencje znaków. Szczegóły działania wieloznaczników mogą różnić się w zależności od używanego systemu zarządzania bazą danych (RDBMS). Należy zawsze sprawdzić dokumentację konkretnego RDBMS, aby upewnić się, jakie wieloznaczniki są dostępne i jak dokładnie działają.

Najczęściej używane wieloznaczniki w SQL

Procent (%)

Reprezentuje zero, jeden lub wiele znaków. Może być użyty na początku, na końcu lub w środku wzorca do wyszukania. Na przykład:

  • 'a%' dopasuje wszystkie wartości zaczynające się od "a".
  • '%a' dopasuje wszystkie wartości kończące się na "a".
  • '%or%' dopasuje wszystkie wartości zawierające ciąg "or".

Podkreślenie (_)

Reprezentuje dokładnie jeden dowolny znak. Jest używany, gdy znamy dokładną długość szukanego wzorca, ale nie wszystkie znaki są nam znane. Na przykład:

  • 'a_' dopasuje wszystkie wartości, które mają dwa znaki, pierwszy z nich to "a".
  • '__a' dopasuje wszystkie wartości, które mają trzy znaki, ostatni z nich to "a".

Znak zapytania (?)

W niektórych wersjach SQL takich jak Microsoft Access, znak zapytania działa podobnie jak podkreślenie w standardowym SQL, oznaczając jeden dowolny znak.

Zestaw znaków ([])

W niektórych dialektach SQL, np. w Microsoft Access, można używać nawiasów kwadratowych do określenia dowolnego pojedynczego znaku z określonego zakresu (np. [a-c]) lub zestawu (np. [abc]). To zachowanie jest podobne do wyrażeń regularnych.

Znak ^ wewnątrz zestawu znaków ([^])

Używany w niektórych systemach, jak Microsoft Access, do wykluczenia znaków. Na przykład, [^a] oznacza dowolny znak, który nie jest "a".

Przykłady

Prezentowane przykłady obejmują użycie wieloznaczników % i _ w SQL przy użyciu operatora LIKE, który pozwala na wyszukiwanie wzorców w tekście. Używanie %_ może wpłynąć na wydajność, szczególnie w dużych bazach danych, ponieważ zapytania z tymi wieloznacznikami mogą być kosztowne pod względem przetwarzania. Zaleca się stosowanie ich z rozwagą, szczególnie w dużych tabelach lub w środowiskach produkcyjnych.

Wieloznacznik %

Znalezienie rekordów zaczynających się od określonego znaku:

SELECT * FROM tabela
WHERE kolumna LIKE 'A%';

Znajduje wszystkie rekordy w kolumnie, które zaczynają się na literę "A". Na przykład, dopasuje "Adam", "Ania", ale nie "Tomasz".

Znalezienie rekordów kończących się na określone znaki:

SELECT * FROM tabela
WHERE kolumna LIKE '%a';

Dopasuje wszystkie rekordy kończące się literą "a", jak "Anna", "Olga", ale nie "Jan".

Znalezienie rekordów zawierających określony ciąg znaków:

SELECT * FROM tabela
WHERE kolumna LIKE '%or%';

Dopasuje wszystkie rekordy, które gdziekolwiek zawierają ciąg "or", np. "korporacja", "formularz" czy "kolor".

Wieloznacznik _

Znalezienie rekordów, gdzie określony znak na danej pozycji to konkretna litera:

SELECT * FROM tabela
WHERE kolumna LIKE 'a_c';

Dopasuje rekordy, gdzie pierwsza litera to "a", trzecia to "c", a pomiędzy nimi jest dokładnie jeden dowolny znak, np. "abc", "acc".

Znalezienie rekordów, gdzie dokładnie dwa znaki na początku, a potem konkretna litera:

SELECT * FROM tabela
WHERE kolumna LIKE '__a%';

Dopasuje rekordy, które zaczynają się od dowolnych dwóch znaków, po których następuje litera "a", np. "xxapple", "yzak".

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły