SQL 通配符中的 OR 语句

SQL OR statement in Wildcard

我目前的 MySql 通配符是 LIKE '%A%B%'。这可以 return 包含 A B 的值。

任何人都可以建议我如何将通配符语句更改为包含 A B 的 return 值。

提前致谢。

您可以使用REGEXP

 select * from Table1 where some_column REGEXP '[AB]'

这个正则表达式有很多种写法,上面基本上就是包含A或者B的意思。

通常您要避免使用 REGEXP 和 LIKE '%something',因为它们不使用索引。因此,对于大型表,这些操作将不可用。当您想进行此类搜索时,最好停下来询问:"Have I got the best database design?"、"Can I use full text search instead?"

您可以在括号内添加任意数量的 like 运算符,使用 OR 条件,如下所示

select * from tablename where (column_name  like '%test%' or same_column_name  like '%test1%' or 
            same_column_name  like '%test2%' or same_column_name  like '%test3%')

有关更多信息,请查看下面的 link。

SQL Server using wildcard within IN

希望对你有帮助