mysql存储过程入参乱码

时间:2021-09-25 15:45:34

– 创建存储过程
DELIMITER //
DROP PROCEDURE IF EXISTS sp_search_user;
– create procedure sp_search_user(in a varchar(32) CHARACTER SET utf8)
create procedure sp_search_user(in a varchar(32) CHARSET ‘utf8’)
BEGIN
– DECLARE a CHARACTER SET utf8;
if a is null or a =” THEN
select * from user ;
else
select * from user where user.username like a ;
end if ;
END
//
DELIMITER ;

– 调用存储过程
call sp_search_user (‘王%’)

入参设置下编码 即可解决问题,两种方式都可以。

说明:
1.DELIMITER // - - 把默认的输入的结束符;替换成//
2.DROP PROCEDURE IF EXISTS sp_search_user; - - 这是mysql的写法
3. END // - - //此时就代表;
4. DELIMITER ; - - 再将//替换回;