我有一个变量传递给存储过程Ex:
@keywords = 'val1, val3, val5'
我正在尝试查看名为Title的列是否包含其中的任何一个
Ex: Title1 - 'Hello val1' Title2 - 'Hello val3' Title3 - 'Hello val1, val3' Title4 - 'Hello'
所以我的结果应该返回值
Title ------ Hello val1 Hello val3 Hello val1, val3
是否可以使用LIKE或其他任何功能/方法?
您需要将CSV拆分为行(有关各种可变方法,请参见SQL Server 2005及更高版本中的数组和列表)。我假设您dbo.ufnSplitRows基于此创建
dbo.ufnSplitRows
然后使用LIKE加入
SELECT * FROM MYtable M JOIN dbo.ufnSplitRows (@CSV) C ON M.Title LIKE '%' + C.SplitValue + '%'
顺便说一句,由于至少领先的“%”,它将运行不佳