求教大神,MySql存储过程拼接语句时如何拼接两个字段的值

aa232610 2015-05-22 12:11:48
存储过程如下:
DELIMITER $$

DROP PROCEDURE IF EXISTS `test`$$

CREATE PROCEDURE `test`()
BEGIN
DECLARE sqlQuery VARCHAR(11000);
SET sqlQuery='select ';
SET sqlQuery=CONCAT(sqlQuery,' FROM user',' where firstname','' '','lastname','='''test test'');
PREPARE s1 FROM @sql;
EXECUTE s1;
DEALLOCATE PREPARE s1;
END$$

DELIMITER ;

主要目的是将FirstName和LastName两个字段加在一起,然后与某字符串比较是否相等或模糊查询
...全文
408 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa232610 2015-05-22
  • 打赏
  • 举报
回复
非常感谢版主,解决了,可以结贴了
wwwwb 2015-05-22
  • 打赏
  • 举报
回复
DELIMITER $$ DROP PROCEDURE IF EXISTS `test`$$ CREATE PROCEDURE `test`() BEGIN DECLARE sqlQuery VARCHAR(11000); SET sqlQuery='select * '; SET sqlQuery=CONCAT(sqlQuery,' FROM user where concat(firstname,\' \',lastname)=\'test test\''); SELECT sqlQuery; SET @SQL= sqlQuery; PREPARE s1 FROM @SQL; EXECUTE s1; DEALLOCATE PREPARE s1; END$$ DELIMITER ;
wwwwb 2015-05-22
  • 打赏
  • 举报
回复
你的语句,字段中有NULL值?
aa232610 2015-05-22
  • 打赏
  • 举报
回复
帅哥,这样查询报错了,提示错误如下: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 1 能再帮忙看看吗
wwwwb 2015-05-22
  • 打赏
  • 举报
回复
SET sqlQuery=CONCAT(sqlQuery,' FROM user where concat(firstname,\' \',lastname)=\'test test\'');

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧