Wzorce zamienniki w SQL
Podczas wyszukiwania danych w bazie danych, można używać wildcardów w SQL.
Wzorce zamienniki w SQL
Podczas wyszukiwania danych w bazie danych, wildcards w SQL mogą zastępować jeden lub więcej znaków.
Wildcards w SQL muszą być używane z operatorem LIKE.
W SQL można używać następujących wildcardów:
Wildcard | Opis |
---|---|
% | Reprezentuje zero lub więcej znaków |
_ | Zastępuje tylko jeden znak |
[charlist] | Każdy pojedynczy znak znajdujący się w kolumnie znaków |
[^charlist] lub [!charlist] |
Każdy pojedynczy znak, który nie znajduje się w kolumnie znaków |
Oryginalna tabela (używana w przykładach):
Tabela Persons:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
1 | Adams | John | Oxford Street | Londyn |
2 | Bush | George | Fifth Avenue | Nowy Jork |
3 | Carter | Thomas | Chang'an Street | Pekin |
Używaj znaku % jako wildcarda
Przykład 1
Teraz chcemy wybrać z tabeli "Persons" osoby zamieszkałe w miastach zaczynających się od "Ne":
Możemy użyć poniższego zapytania SELECT:
SELECT * FROM Persons WHERE Miasto LIKE 'Ne%'
Zestaw wyników:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | Nowy Jork |
Przykład 2
Kolejny raz chcemy wybrać z tabeli "Persons" osoby zamieszkałe w miastach zawierających "lond":
Możemy użyć poniższego zapytania SELECT:
SELECT * FROM Persons WHERE Miasto LIKE '%lond%'
Zestaw wyników:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
1 | Adams | John | Oxford Street | Londyn |
Użycie znaku specjalnego _ jako wildcards
Przykład 1
Teraz chcemy wybrać z tabeli "Persons" osoby, w których imię zaczyna się od dowolnego znaku, a następnie jest "eorge":
Możemy użyć poniższego zapytania SELECT:
SELECT * FROM Persons WHERE Imię LIKE '_eorge'
Zestaw wyników:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
2 | Bush | George | Fifth Avenue | Nowy Jork |
Przykład 2
Kolejny raz chcemy wybrać z tabeli "Persons" rekord, w którym nazwisko zaczyna się od "C", następnie jest dowolny znak, następnie "r", następnie dowolny znak, następnie "er":
Możemy użyć poniższego zapytania SELECT:
SELECT * FROM Persons WHERE Nazwisko LIKE 'C_r_er'
Zestaw wyników:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
3 | Carter | Thomas | Chang'an Street | Pekin |
Użycie znaku specjalnego [charlist] jako wildcards
Przykład 1
Teraz chcemy wybrać miasta zamieszkania z tabeli "Persons", które zaczynają się od "A", "L" lub "N":
Możemy użyć poniższego zapytania SELECT:
SELECT * FROM Persons WHERE Miasto LIKE '[ALN]%'
Zestaw wyników:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
1 | Adams | John | Oxford Street | Londyn |
2 | Bush | George | Fifth Avenue | Nowy Jork |
Przykład 2
Teraz chcemy wybrać miasta zamieszkania z tabeli "Persons"Nie zaczynające się od Osoby zaczynające się od "A", "L" lub "N":
Możemy użyć poniższego zapytania SELECT:
SELECT * FROM Persons WHERE Miasto LIKE '[!ALN]%'
Zestaw wyników:
Id | Nazwisko | Imię | Adres | Miasto |
---|---|---|---|---|
3 | Carter | Thomas | Chang'an Street | Pekin |