题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
drop PROCEDURE if exists test;
create PROCEDURE test ( c varchar(1000) )
begin
declare letters ,spaces ,digits ,others int;
declare i int DEFAULT 1 ;
declare t char(1);
set letters=0,spaces=0,digits=0,others=0;
while i<=LENGTH(c) do
set t=SUBSTR(c,i,1);
if (t>='a' and t<='z') or (t>='A' and t<='Z') then
set letters=letters+1;
elseif t>='0' and t<='9' then
set digits=digits+1;
elseif c=' ' then
set spaces=spaces+1;
else
set others=others+1;
end if;
set i=i+1;
end while;
select letters ,spaces ,digits ,others ;
end;