SQL Server,结合了LIKE和IN?
有没有一种简单的方法可以在SQL Server中将SQL Server,结合了LIKE和IN?,sql,sql-server,regex,sql-like,Sql,Sql Server,Regex,Sql Like,有没有一种简单的方法可以在SQL Server中将与之类的和合并到一条语句中,而不必使用大量的和或 e、 g.我知道在MySQL中,您可以这样做: SELECT * FROM table1 WHERE column1 REGEXP 'value1|value2|value3' 不是真的 与模式语法类似,在模式语法中没有交替运算符。如果在2008年,您可以使用 SELECT * FROM table1 WHERE EXISTS(SELECT * FROM (
与之类的和合并到一条语句中,而不必使用大量的和或
e、 g.我知道在MySQL中,您可以这样做:
SELECT * FROM table1 WHERE column1 REGEXP 'value1|value2|value3'
不是真的
与
模式语法类似,在
模式语法中没有交替运算符。如果在2008年,您可以使用
SELECT *
FROM table1
WHERE EXISTS(SELECT *
FROM (VALUES ('value1'),
('value2'),
('value3')) Vals(val)
WHERE column1 LIKE '%' + val + '%')
您也可以在SQL Server中使用正则表达式,但不能以本机方式使用。您需要启用CLR并为此安装一个程序集。另一个选项是将搜索值放入表中,并构建一个动态SQL来完成这项工作。不推荐使用,但有时会有帮助…嗨,马丁。谢谢你的建议。我试过了,但是得到了下面的错误消息“关键字'VALUES'附近的语法不正确”。严重程度15'@200-我想你不在2008年。在以前的版本中,在派生表定义中使用SELECT'value1'UNION ALL SELECT'value2'UNION ALL SELECT'value3'
可以实现类似的功能,这有点繁琐。谢谢Martin。现在就这样:)。想知道为什么微软没有实现一个更简单的方法来实现这一点,虽然…可能重复的