2012-04-30 65 views
5

我有一个数据库表名test123并有name列。它包含像'nir,kal,man'数据现在,当我询问与select语句表按如下:简单Select语句不返回任何结果

select * from test123 where name = 'nir,kal,man'; 

但是,这将不会返回任何结果......为什么会这样?我如何编写查询以便返回结果? 我正在使用Sql server 2008.

谢谢...!

+1

'nir,kal,man'是单个名字,还是三个不同的名字'nir','kal','man'?我想可能是你在某处丢失了'SPACE'。用'LIKE'运算符检查查询。 –

回答

5

=运算符返回精确匹配,因此,如果你的包含数据“如”你需要使用LIKE操作:

select * from test123 where name like '%nir,kal,man%' 

其中%将与任何字符集来代替。

也检查你正在使用全名瞄准正确的数据库

select * from yourdb.dbo.test123 where.... 
3

如果尼尔是在第一排在卡尔2行的人,在第三排,那么你应该写这样的查询

+0

我已经试过这个,但不适合我。 –

+0

只需将test123中select * from test123 where name =('nir','kal','man')''改为'select * from test123其中名称IN('nir','kal','man')': - ) –