我试图创建一个函数来对mysql workbench中的每个单词加上大写字母,但总是出现语法错误:sql语法有错误;查看与mysql服务器版本相对应的手册,以获得使用near'deterministic begin declare len int;声明i int;将len=cha'设置为第行
这是我的密码:
delimiter ;;
CREATE FUNCTION caps_first (input varbinary(100))
RETURNS varbinary(100) deterministic
Begin
declare len INT;
declare i INT;
set len = char_len(input);
set input = lower(input);
set i = 0;
while (i<len) do
if (mid(input,i,1) = '' or i = 0) then
if (i < len) then
set input = concat(
left(input,i),
upper(mid(input, i+1,1)),
right(input, len-i-1)
);
end if;
end if;
set i = i+1;
end while;
return input;
end;
1条答案
按热度按时间guykilcj1#
大约一个月前,我编写了一个类似的存储过程。请参考这里的文章。如果你想直接使用它,需要花一点功夫来修改它以满足你的需要,但它应该给你一个不错的起点。
我知道这并不是像你要求的那样直接调试,但是比较代码可能会帮助你解决问题。