0

结构:

table
c1 c2
1  test
1  test2
2  test
2  test3
3  test4

SQL:

SELECT c1 FROM table WHERE c2 in ("test3","test4")

我想要的是:

SELECT c1 FROM table WHERE c2 in ("%3","%st4")

我怎样才能做到这一点?

4

2 回答 2

2
SELECT c1 FROM table WHERE (c2 like "%3") or (c2 like "%st4")
于 2015-09-02T13:58:37.443 回答
0

这是我的方法,只是为了遵循您在问题中的逻辑:

http://sqlfiddle.com/#!9/aca65e/2

SELECT *
FROM `table`
WHERE c2 REGEXP '.*3$|.*st4$';

但请记住该解决方案

SELECT c1 FROM table WHERE (c2 like "%3") or (c2 like "%st4")

c2如果列被索引,@splash58 提供的速度可能会快得多。

于 2015-09-02T14:53:53.183 回答