Проблем:
Искате да изберете редове, които съдържат низ, започващ с един от дадена група знаци.
Пример:
Нашата база данни има таблица с име gamer
с данни в id
и user
колони.
id | потребител |
---|---|
1 | супермен |
2 | магнус |
3 | луси |
4 | стан |
5 | али |
Нека намерим всички данни за геймърите, чиито потребителски имена започват с „a“, „b“, „r“ или „s“.
Решение:
SELECT id, user FROM gamer WHERE user LIKE '[abrs]%';
Ето резултата:
id | потребител |
---|---|
1 | супермен |
4 | стан |
5 | али |
Дискусия:
Ако искате да филтрирате редове, съдържащи низ, който съответства на даден шаблон, използвайте клаузата WHERE с оператора LIKE. Клаузата WHERE се използва за филтриране на записи, които отговарят на посочените условия. След WHERE добавяте име на колона или израз, последвано от оператор (напр. LIKE) и стойност(и) за сравнение. След LIKE въвеждате шаблона за съвпадение (в нашия пример WHERE user LIKE '[abrs]%'
). Моделът може да съдържа знаци и заместващи знаци.
Един от заместващите символи на T-SQL е „%“, което представлява нула или повече неизвестни знаци. Подчертаването ( _ ) обозначава един знак. Скобите ( [] ) обхващат шаблона, който да съответства; този модел може да съдържа една или повече букви или цифри. Целевият низ може да съответства на един или повече от знаците в скобите.
В нашия пример, шаблонът '[abrs]%'
означава, че потребителското име трябва да започва с a, b, r или s. След началния знак може да има нула или повече знаци, защото сме използвали % заместващия знак.
Потребителите с id=2 и id=3 не се показват; имената им започват с „l“ и „m“ и следователно не съвпадат с модела, който сме избрали.