繁体   English   中英

在SQL IN运算符中使用通配符

[英]Using wildcards in SQL IN operator

结构体:

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")

我怎样才能做到这一点?

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

这是我的方法,目的只是为了遵循您所遇到问题的逻辑:

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提供的速度可能会更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM