"IN" SQL SSRS 中的表达式



我这里有这个表达式:

WHERE ProductName in ('%Comfort%','%Super%', '%Normal%','%PC%')

BUt 它不起作用。该表显示"NaN"值和错误。

然后我用这个表达式尝试了一下:

WHERE ProductName like '%Comfort%' AND ProductName like '%Super%' AND ProductName like '%Normal%' AND ProductName like '%PC%'

这也行不通。

如果我只使用这个表达式

 WHERE ProductName like '%Comfort%' 

然后它看起来我想要什么,但我错过了我表中的其他产品。

好吧,您的第二个查询几乎没问题,因为列 IN(x,y,z) 等于

column = x or column = y or tcolumn = z

而不是

column = x and column = y and tcolumn = z   

唯一的问题是您需要将"AND"替换为"OR",如下所示:

WHERE ProductName like '%Comfort%' or ProductName like '%Super%' or ProductName like '%Normal%' or ProductName like '%PC%'

不能在IN子句中使用通配符 ( % )。 第二个地方是说ProductName里面有"超级"和"正常"和"PC",所以将返回产品名称"普通超级PC",而不是那些名称中没有所有三个的产品名称。

您需要将AND更改为OR

最新更新