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
希望对你有帮助
我目前的 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
希望对你有帮助