可能重复:
MYSQL query for searching through ALL the fields?
MySQL - Search in all fields from every table from a database
我在一个表中有28个字段,我想给用户一个选项是搜索其所有字段中的每个条目。 所以不要写这样的东西:
SELECT * FROM table WHERE field1 LIKE testfield OR field2 LIKE testfield OR field3 LIKE testfield
OR field4 LIKE testfield OR ... etc
我想写这样的东西:
SELECT * FROM table WHERE * LIKE testfield;
这不起作用所以我想知道是否有其他语法或该功能不存在?
答案 0 :(得分:0)
SQL中没有对此类查询的可移植支持。最好的办法是创建另一个字符串/ varchar列,并将其他列连接成一个字符串,然后搜索它。
SQL Server确实支持contains keyword:
SELECT Name, Color FROM Production.Product
WHERE CONTAINS((Name, Color), 'Red');
但是,如果你想要便携式,你最好使用额外的列。