使用带变量sql的CONTAINS

use*_*777 2 sql sql-server contains sas

好的,所以我试图在SQL中引用另一个变量.

X = a,b,c,d(x是一个带有事物列表的字符串变量)

Y = b(Y是一个字符串变量,可能有也可能没有出现在X中的vaue)

我试过这个:

Case when Y in (X) then 1 else 0 end as aa
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为它寻找X和Y之间的精确匹配

还试过这个:

where contains(X,@Y)  
Run Code Online (Sandbox Code Playgroud)

但是我不能全局创建Y,因为它是一个在表的每一行都有变化的变量.(x也会改变)

SAS中的解决方案也很有用.谢谢

geo*_*tef 5

也许like会有所帮助

select 
  *
from
  t
where
  X like ('%'+Y+'%')
Run Code Online (Sandbox Code Playgroud)

要么

select 
  case when (X like ('%'+Y+'%')) then 1 else 0 end
from
  t
Run Code Online (Sandbox Code Playgroud)

SQLFiddle示例