SQL Server,结合LIKE和IN?

时间:2011-12-07 00:29:38

标签: sql sql-server regex sql-like

是否有一种简单的方法可以将LIKEIN合并到SQL Server的一个语句中,而不使用大量ANDOR

e.g。我在MySQL中知道你可以这样做:

SELECT * FROM table1 WHERE column1 REGEXP 'value1|value2|value3'

2 个答案:

答案 0 :(得分:6)

不是真的。

LIKE模式语法中没有交替运算符。如果在2008年你可以使用

SELECT *
FROM   table1
WHERE  EXISTS(SELECT *
              FROM   (VALUES ('value1'),
                             ('value2'),
                             ('value3')) Vals(val)
              WHERE  column1 LIKE '%' + val + '%')  

您也可以在SQL Server中使用正则表达式,但不能在本机使用。您需要启用CLR并为此安装程序集。

答案 1 :(得分:0)

另一种选择是将搜索值放在表中并构建动态SQL来完成工作。不推荐,但有时候有帮助...