查询每行中包含多个项目的列

时间:2014-12-02 19:50:57

标签: sql sql-server-2008

我试图像这样做一个选择语句。

Select motor 
From motorlist 
where motorsize = '100' 

我遇到的问题是我的motorize列的行在nvarchar中有多个项目,例如它可能在一行中包含100,101,102

2 个答案:

答案 0 :(得分:1)

你会使用"喜欢":

select motor from motorlist where motorsize like '%100%'

或者根据您的数据,您可以尝试不同的方法来更好地调整where子句。例如,如果您在搜索100时不想查找包含1000的行,则可以执行以下操作:

select motor from motorlist where motorsize like '%100,% or motorsize like '%100'

答案 1 :(得分:1)

Select motor From motorlist where motorsize like '%100%'

或更安全......

Select motor From motorlist where ',' + motorsize + ',' like '%,100,%'

侧面说明,我同意评论,最好不要让这样的字段具有多个值,但要了解您可能会受到以前设计的限制。

在C#中

var strSql = "Select motor From motorlist where \',\' + motorsize + \',\' like \'%," + mySearchMotorSize + ",%\'";