mysql - 使用通配符进行搜索的存储过程

标签 mysql search stored-procedures wildcard

以下存储过程执行时不会返回任何内容!我做对了吗?

DELIMITER //
    CREATE PROCEDURE `sp_search`(IN `_search` VARCHAR(60))
    BEGIN 
        SELECT `result`
        FROM `search_results` 
        WHERE `keyword` 
        LIKE '%_search%'; 
    END //
DELIMITER ;

最佳答案

您需要concat():

    WHERE `keyword` LIKE CONCAT('%', _search, '%')

MySQL 不会替换字符串中的变量。

关于mysql - 使用通配符进行搜索的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31307113/

相关文章:

algorithm - 线性搜索或二分搜索或二分搜索树

JavaScript 搜索字符串错误

postgresql - 如何将 NEW/OLD 传递给从 PostgreSQL 中的触发器函数调用的过程?

php - 如何将数据库连接对象从一个类传递到另一个类?

mysql - 在 innodb 中禁用 MySQL 全文搜索停用词

mysql - mysql中on子句错误中的未知列

sql-server - 在更新语句中引发错误

python - python sql查询中的while循环

php - 搜索特定关键字 MySQL

Ruby OCI8 和 Oracle 存储过程 - 如何访问作为引用游标的bind_param?