php выберите из mysql, где заголовок начинается с A (и только с A)
Я уверен, что это очень просто, но, похоже, не могу в этом разобраться.. Мне нужно выбрать все названия из моей базы данных, где название начинается с A, или B, или C и т.д. Вот что я пробовал до сих пор:
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A'
Но ничего не возвращает.. Может ли кто-нибудь помочь мне с этим?
Приветствия
5 answers
Для заголовков, начинающихся с "А", используйте %
после A
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'
Для заголовков с буквой "А" в нем используйте %
по обе стороны от A
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A%'
Для названий, заканчивающихся на букву "А", используйте %
перед A
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A'
В основном %
является подстановочным знаком. Он сообщает MySQL, что в этом местоположении может быть что угодно.
Для того, чтобы цифры были первой буквой, ознакомьтесь с ответом Марка.
Подстановочными знаками для LIKE
являются %
и _
, где % соответствует 0 или более символам, а _ соответствует ровно одному символу.
Существующие ответы верны для начала с:
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'
Для начала с любого числа вы можете использовать оператор РЕГУЛЯРНОГО выражения:
SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]'
Попробуйте:
SELECT * FROM weblinks WHERE catid = 4 AND ((title like 'A%') OR (title like 'B%'))
И так далее и тому подобное
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'
% говорит "что угодно", так что это "А", а затем что угодно. Работает только с оператором сравнения LIKE.