SELECT stuff REGEXP 'itunes' as is_itunes;
В этом MySQL-запросе, если в «stuff» есть слово «itunes», он помечает его как itunes.
Однако я хочу сказать «начнем с».Как я могу проверить «начать с», а не где-нибудь в тексте?
SELECT ... WHERE stuff LIKE 'itunes%';
Здесь % служит символом подстановки, поэтому это будет соответствовать строки с полем stuff, равным любому из itunes, itunesfoo, itunes1, ...
%
stuff
itunes
itunesfoo
itunes1
Дополнительная информация: Оператор SQL LIKE в W3Schools .
Добавьте символ каретки, он представляет начало строки:
SELECT stuff REGEXP '^itunes' as is_itunes;
Однако LIKE 'itunes%', как предложил Марк, должно быть намного быстрее, особенно если ваши индексы настроены правильно.
LIKE 'itunes%'
Для индексированного поля гораздо лучше сделать:
select ... where stuff >='itunes' AND stuff < 'itunet'
Это не приведет к полному сканированию таблицы и не будет использовать индекс.
SELECT ... WHERE LEFT(stuff, 6) = 'itunes';
SELECT ... WHERE stuff REGEXP '[[:<:]]itunes';