使用以下存储过程查找数字的反转,但显示错误:使用正确的语法使用近循环。
DELIMITER //
CREATE PROCEDURE ggrepeat1()
begin
declare num1 int;
declare num2 int;
declare rev int default 0;
set @num1:='&num1';
while num1>0
loop
set @num2:=num1 mod 10;
set @rev:=num2+(rev*10);
set @num1:=floor(num1/10);
end loop;
dbms_output.put_line('Reverse number is: '||rev);
end//
DELIMITER ;
最佳答案
如评论中所述,您不能使用 oracle mysql 中的语法.无论如何,我认为你把事情复杂化了。一种更简单的方法是将您的数字转换为字符串,使用内置函数将其反转并将其转换回数字:
CREATE FUNCTION reverse_int(num INT)
RETURNS INT DETERMINISTIC
RETURN CAST(REVERSE(CAST(num AS CHAT)) AS INT);
关于mysql - mysql中数字的反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47853539/