mysql - SQL:使用 LIKE,如果搜索匹配该行中的任何值,则返回该行

标签 mysql sql select sql-like

我正在尝试进行查询,其中我的 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/

相关文章:

mysql - 我可以为选择查询中的每一行设置自定义 CONCAT() 吗? mysql

mysql - 如何使用 SQL 查询访问 JSON 对象列表或数组中的字段

jquery - 如何使用 jQuery 获取选择选项的标签?

mysql - 请解释这两个查询的区别以及它们在做什么

mysql - 选择...分组依据

php - id 不是 auto_increment 并试图在行之间获取差异 mysql php

mysql - Django Mysql 二进制日志错误

mysql - 在为 RoR 应用程序在 MySQL 和 Amazon 的 SimpleDB 之间做出决定时,您需要考虑什么?

mysql - 两列唯一组合

sql - 如何在不使用数据库别名的情况下从不同的数据库中查询表?