面试题答案
一键面试以下假设数据库为MySQL,代码如下:
DELIMITER //
CREATE PROCEDURE SearchArticles(IN keyword VARCHAR(255))
BEGIN
-- 去除article_content中的特殊字符,这里简单以去除非字母和数字字符为例
SET @cleaned_keyword = REGEXP_REPLACE(keyword, '[^a-zA-Z0-9]', '');
-- 进行查询
SELECT article_id, article_title
FROM articles
WHERE REGEXP_REPLACE(article_content, '[^a-zA-Z0-9]', '') LIKE CONCAT('%', @cleaned_keyword, '%');
END //
DELIMITER ;