我正在尝试进行查询,其中我的 LIKE 可以匹配行中的任何字段。
换句话说,我不想显式设置列名来匹配每个 LIKE 条件。
所以,像这样:
SELECT * FROM mytable WHERE any_field_value LIKE 'str%'
不这样:
SELECT * FROM mytable WHERE col_a LIKE 'str%' OR col_b LIKE 'str%'
等等。
当然,这不是一个不常见的请求吗?谁能给我看灯?
最佳答案
事实上,这根本不是真的。假设您已经设置了全文索引,就可以做到。 再次假设我们正在处理 sql server。
http://msdn.microsoft.com/en-us/library/ms142488.aspx
我应该指出,由于在链接文档中不是很清楚,您可以指定 * 而不是列名,以便搜索表中的所有全文索引列。
编辑: 全文搜索在 mysql 中也可用。不过,我不清楚 * 是否可以与它一起使用。
关于mysql - SQL:使用 LIKE,如果搜索匹配该行中的任何值,则返回该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729020/