2010-11-15 90 views
0

我需要返回包含某些字母或字母组合的所有人的姓名。sql简单问题帮助

例如

names = bob, mary, nick 

以字母 “B”

returns bob 

返回名称以字母回报名 “AR”

returns mary 

所以

SELECT name 
FROM people 
WHERE ??? 
+0

这些名称是否在单个列中,例如在列内逗号分隔?这对于SQL数据库来说是非常糟糕的设计...... – 2010-11-15 07:11:13

+0

不,这些值是原子的,每个名称都有它自己的空间 - 在列 – 2010-11-15 07:12:45

回答

0
WHERE name LIKE '%ar%'
用于MS-Access的

,使用

WHERE name LIKE '* ar *'
忽略*和'ar'之间的空格。请参阅 http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx

+0

hmmm。它不与我们在Microsoft Access中给出的数据库一起工作,表名中都有“ - ”,因此名称必须放在方括号内,这可能是一个问题 – 2010-11-15 07:04:04

+0

我们都假设你有一张名为“人“,有一个名为”名字“的专栏,这是否正确?如果是这样,我们提供的样品应该工作。你能提供一些更多的细节,比如数据库类型,以及你使用哪个工具来尝试这个查询。 – KBoek 2010-11-15 07:07:44

+0

它只是在访问sql编辑器。我去SELECT [people-name] FROM people,which works,but when we say WHERE [people-name] LIKE'%ar%';它无法工作 – 2010-11-15 07:10:46

0
SELECT name 
FROM people 
WHERE name like '%ar%'

%就像是 “永远是什么”
可以使用LIKE%只是字符串字段

0

使用 '喜欢' 操作者使用,你可以做到这一点

0
WHERE NAME LIKE '%<letter-or-string>%' 
0
SELECT name 
FROM people 
WHERE name like '%ar%' ----returns Mary 

WHERE name like 'b%' ----returns bob 

WHERE name like '%k' ----returns nick 

注意:不要一起执行所有'where'条件。