28

我确定这非常简单,但似乎无法弄清楚。我需要从我的数据库中选择所有标题以 A、B 或 C 等开头的标题。这就是我尝试过的远的:

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

但什么也没返回..有人可以帮我解决这个问题吗?

干杯

4

5 回答 5

61

对于以“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 的答案。

于 2010-01-15T03:04:23.840 回答
7

通配符LIKE%and _,其中 % 匹配 0 个或多个字符,而 _ 恰好匹配一个字符。

于 2010-01-15T03:05:46.113 回答
7

现有答案以 A 开头是正确的:

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

对于以任何数字开头,您可以使用 REGEXP 运算符:

SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]'
于 2010-01-15T03:23:56.033 回答
2

尝试:

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

等等等等

于 2010-01-15T03:04:44.427 回答
1

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

% 告诉“任何东西”,所以它是“A”然后是任何东西。仅适用于 LIKE 比较运算符。

于 2010-01-15T03:04:14.443 回答