MySQL查询数据库对一个字符串

时间:2012-07-23 10:06:58

标签: mysql

我对搜索给定字符串的数据库条目感兴趣。

这样的事情:

SELECT * FROM TABLE WHERE %table_column% LIKE %STRING%

是否可以使用MYSQL执行此操作?

由于

2 个答案:

答案 0 :(得分:1)

不,您不能对列名称进行通配符。您可以像这样指定它们

SELECT * FROM TABLE 
WHERE col1 LIKE %STRING%
or col2 LIKE %STRING%
or col3 LIKE %STRING%

答案 1 :(得分:1)

您可以在存储过程中使用动态MySQL来完成此任务:

CREATE PROCEDURE sp_test
(
 arg_column_name VARCHAR(255)
,arg_filter VARCHAR(255)
)
BEGIN

SET @query1 = CONCAT('
        SELECT  *
        FROM    table_name a
        WHERE   a.',arg_column_name,' LIKE "%',arg_filter,'%"'
        );
        PREPARE stmt FROM @query1; EXECUTE stmt; DEALLOCATE PREPARE stmt;
END;

CALL sp_test('column_name','filter_val');