我想查询sql列的行是否包含多个值中的任何一个.
例如,返回表的列,其中列A包含以下任何单词:
( ‘母牛’,‘农民’,‘牛奶’).
当你知道单词是什么时很容易,但是我想写一个sproc,我可以在任何字符串数组中输入,如果某行的A列包含其中的任何一个,它将返回该行.
我希望能够提供:
( ‘母牛’,‘牛奶’)
要么
( ‘母牛’,‘牛排’,‘让人惊讶’)
要么
('cow','farmer','three','pigs','wolf')
它必须相对简单,但我不能为我的生活弄明白.
我在sql Server 2008上
解决方法
一个简单的方法:
declare @candidates varchar = '|cow|farmer|three|pigs|wolf|' select * from TableName where @candidates like '%|' + FieldName + '|%'
在sql 2008中执行此操作的最佳方法是使用table-valued parameter.