我相信这很简单,但似乎想不出来... 我需要从我的数据库中选择所有以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该位置可以包含任何内容。
如果想要以数字作为第一个字母,请查看马克的答案。
'%A%'
结尾。 - catsbySELECT * FROM weblinks WHERE catid = 4 AND title LIKE 'A%'
要从任何数字开始,您可以使用REGEXP运算符:
SELECT * FROM weblinks WHERE catid = 4 AND title REGEXP '^[0-9]'
LIKE
的通配符是 %
和 _
,其中 % 匹配 0 或多个字符,_ 匹配一个字符。
尝试:
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比较运算符。