通配符中的SQL OR语句

时间:2016-08-18 05:26:35

标签: mysql sql wildcard sql-like

我当前的MySql外卡是LIKE '%A%B%'。这可以返回包含A B的值。

有人建议我如何更改通配符语句以返回包含A B的值。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以使用REGEXP

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

将此作为正则表达式编写有很多不同的方法,上面基本上意味着包含A或B.

通常,您希望避免使用REGEXP和LIKE'%something',因为不使用索引。因此,对于大型表,这些操作将无法使用。当你想进行这种搜索时,最好停下来问:“我有最好的数据库设计吗?”,“我可以使用全文搜索吗?”

答案 1 :(得分:2)

您可以在括号中添加所需的like运算符,其条件如下

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%')

有关详细信息,请查看以下链接。

SQL Server using wildcard within IN

希望能帮到你