像操作员一样检查多个单词

时间:2014-01-24 08:32:16

标签: sql sql-server sql-like

我正在努力寻找一个适用于以下示例的like运算符

单词可能是

MS004 -- GTER   
MS006 -- ATLT   
MS009 -- STRR   
MS014 -- GTEE   
MS015 -- ATLT

Sql Server中用于提取包含ms004 and ATLT等字词或上述任何其他组合的数据的类似操作符。

我尝试使用多个例如

where column like '%ms004 | atl%' 

但它不起作用。

编辑

结果应该只是两个单词的组合。

3 个答案:

答案 0 :(得分:7)

好像你正在寻找这个。

`where column like '%ms004%' or column like '%atl%'`

或者

`where column like '%ms004%atl%'

答案 1 :(得分:0)

试试这个

select .....from table where columnname like '%ms004%' or columnname like '%atl%'

答案 2 :(得分:0)

;WITH LikeCond1 as (
SELECT 'MS004' as L1 UNION
SELECT 'MS006' UNION
SELECT 'MS009' UNION
SELECT 'MS014' UNION
SELECT 'MS015')
, LikeCond2 as (
SELECT  'GTER' as L2 UNION
SELECT 'ATLT' UNION
SELECT 'STRR' UNION
SELECT 'GTEE' UNION
SELECT 'ATLT'
)

SELECT TableName.*
FROM LikeCond1
    CROSS JOIN LikeCond2
    INNER JOIN TableName ON TableName.Column like '%' + LikeCond1.L1 + '%'
                        AND TableName.Column like '%' + LikeCond2.L2 + '%'