83 Условия соответствия До сих пор были рассмотрены условия, выделяющие определенную
строку, диапазон строк или набор строк. Еще один тип условий касает
ся частичного соответствия строк. Например, требуется найти всех со
трудников, фамилия которых начинается с «T». Получить первую бук
ву значения столбца
lname
можно с помощью встроенной функции:
mysql>
SELECT emp_id, fname, lname >
FROM employee >
WHERE LEFT(lname, 1) = 'T'; ++++
| emp_id | fname | lname |
++++
| 3 | Robert | Tyler |
| 7 | Chris | Tucker |
| 18 | Rick | Tulman |
++++
3 rows in set (0.01 sec)
Хотя встроенная функция
left()
выполняет то, что требуется, она не
обеспечивает особой гибкости. Вместо нее можно в выражениях поис
ка можно использовать символы маски, как показано в следующем
разделе.
Символы маски При поиске частичных соответствий строк интерес могут представлять:
• Строки, начинающиеся/заканчивающиеся определенным символом
• Строки, начинающиеся/заканчивающиеся подстрокой
• Строки, содержащие определенный символ в любом месте строки
• Строки, содержащие подстроку в любом месте строки
• Строки определенного формата, независимо от входящих в них от
дельных символов
С помощью символов маски, представленных в табл. 4.4, можно по
строить выражения для поиска этих и многих других частичных стро
ковых соответствий.
Таблица 4.4. Символы маски Символ подчеркивания замещает один символ, а символ процента мо
жет замещать разное количество символов. При построении условий,
использующих выражения поиска, применяется оператор
like
(как):
mysql>
SELECT lname Символ маски Соответствие _
Точно один символ
%
Любое число символов (в том числе ни одного)