我确定这非常简单,但似乎无法弄清楚。我需要从我的数据库中选择所有标题以 A、B 或 C 等开头的标题。这就是我尝试过的远的:
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A'
但什么也没返回..有人可以帮我解决这个问题吗?
干杯
我确定这非常简单,但似乎无法弄清楚。我需要从我的数据库中选择所有标题以 A、B 或 C 等开头的标题。这就是我尝试过的远的:
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A'
但什么也没返回..有人可以帮我解决这个问题吗?
干杯
对于以“A”开头的标题,%
请在A
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'
对于其中带有字母“A”的标题,请%
使用A
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A%'
对于以字母“A”结尾的标题,请%
在A
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE '%A'
基本上%
是通配符。它告诉 MySQL 任何东西都可以在该位置。
对于将数字作为第一个字母,请查看Mark 的答案。
通配符LIKE
是%
and _
,其中 % 匹配 0 个或多个字符,而 _ 恰好匹配一个字符。
现有答案以 A 开头是正确的:
SELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'
对于以任何数字开头,您可以使用 REGEXP 运算符:
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%'
% 告诉“任何东西”,所以它是“A”然后是任何东西。仅适用于 LIKE 比较运算符。