Jon*_*son 4 sql sql-server-2008
而不是执行:
SELECT a
FROM b
WHERE a LIKE'a%'
或LIKE'b%'
或LIKE'c%'
有没有办法执行像这个伪代码一样的功能?
SELECT a
FROM b
WHERE IN('a%','b%','c%')
可能对你的例子太具体了,但你可以做'喜欢'[ac]%'.除此之外,我不知道任何类似LIKE的IN语法
您可以将条件值转储到临时表中(不使用通配符).然后做一个像这样的连接:
SELECT b.a FROM b INNER JOIN #likevals on b.a LIKE #likevals.value + '%'
Run Code Online (Sandbox Code Playgroud)
WHERE #likevals看起来像:
value
------
a
b
c
Run Code Online (Sandbox Code Playgroud)