Php 存储过程中的CONCAT等MySQL语法问题
我有一个存储过程来获取id。它是姓氏,名为“Stone,Cold”,并与我var_dump时传递的_fullname进行比较 弦(13)石,冷 应该有身份证明Php 存储过程中的CONCAT等MySQL语法问题,php,mysql,sql,stored-procedures,Php,Mysql,Sql,Stored Procedures,我有一个存储过程来获取id。它是姓氏,名为“Stone,Cold”,并与我var_dump时传递的_fullname进行比较 弦(13)石,冷 应该有身份证明 IF NOT ISNULL(_fullname) THEN SET _fullname = TRIM(_fullname); SET clause = CONCAT( clause , ' AND CONCAT(c.lname, ', ', c.fname) LIKE CONCAT('%',_fullname,'%
IF NOT ISNULL(_fullname) THEN
SET _fullname = TRIM(_fullname);
SET clause = CONCAT( clause , ' AND CONCAT(c.lname, ', ', c.fname) LIKE CONCAT('%',_fullname,'%')');
END IF;
当我在MySQL中尝试相同的查询时,它工作得非常好,但在过程中不起作用。我确信问题在于存储过程中的语法。请尝试:
分隔符//
下降程序(如果存在)`sp_测试`//
创建过程'sp_test'(在'u fullname'VARCHAR(20)中)
开始
声明'Claire`VARCHAR(500)DEFAULT';
如果不是ISNULL(`u fullname`),则
设置“\u fullname”:=TRIM(`u fullname`);
将`子句`:=CONCAT(`子句`,`和CONCAT(`c`.`lname`,''''',`c`.`fname`)设置为像''''''''%'',''u fullname`,'%'');
如果结束;
选择“子句”;
结束//
定界符;
首先,正确标记问题(MySQL或SQL Server?)。第二,使用双单引号来转义字符串常量中的单引号。@GordonLinoff Thnx用于应答,但它仍然不起作用!!!你能详细说明一下吗。