php выберите из mysql, где заголовок начинается с A (и только с A)


Я уверен, что это очень просто, но, похоже, не могу в этом разобраться.. Мне нужно выбрать все названия из моей базы данных, где название начинается с A, или B, или C и т.д. Вот что я пробовал до сих пор:

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A'

Но ничего не возвращает.. Может ли кто-нибудь помочь мне с этим?

Приветствия

Author: SoulieBaby, 2010-01-15

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, что в этом местоположении может быть что угодно.

Для того, чтобы цифры были первой буквой, ознакомьтесь с ответом Марка.

 50
Author: Tyler Carter, 2017-05-23 11:54:50

Подстановочными знаками для LIKE являются % и _, где % соответствует 0 или более символам, а _ соответствует ровно одному символу.

 6
Author: Ignacio Vazquez-Abrams, 2010-01-15 03:05:46

Существующие ответы верны для начала с:

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'

Для начала с любого числа вы можете использовать оператор РЕГУЛЯРНОГО выражения:

SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]'
 6
Author: Mark Byers, 2010-01-15 03:23:56

Попробуйте:

SELECT * FROM weblinks WHERE catid = 4 AND ((title like 'A%') OR (title like 'B%'))

И так далее и тому подобное

 2
Author: catsby, 2010-01-15 03:04:44

SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'

% говорит "что угодно", так что это "А", а затем что угодно. Работает только с оператором сравнения LIKE.

 1
Author: zneak, 2010-01-15 03:04:14