在mysql中反转一个数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在mysql中反转一个数字相关的知识,希望对你有一定的参考价值。

使用以下存储过程来查找数字的反转,但它显示错误:使用正确的语法来使用near循环。

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 ;
答案

mysql中的while循环应该用在这个中。 这是第一个问题

while n>0 do
    content..
end while

第二个问题是

dbms_output.put_line('Reverse number is: '||rev);

在mysql中你不能使用上面的代码。 相反,你可以使用它

Select 'The reverse of number is 'rev;

所以你的代码就是

DELIMITER //

CREATE PROCEDURE ggrepeat1()

begin

declare num1 int;

declare num2 int; 

declare rev int default 0;

set @num1:='&num1';

while num1>0 do

set @num2:=num1 mod 10;

set @rev:=num2+(rev*10);

set @num1:=floor(num1/10);

end while;

Select 'Reverse number is: 'rev;

end//

DELIMITER ;
另一答案

如评论中所述,您不能在中使用语法。无论如何,我认为你的事情过于复杂。一种更简单的方法是将您的数字转换为字符串,使用内置函数将其反转并将其强制转换为数字:

CREATE FUNCTION reverse_int(num INT)
RETURNS INT DETERMINISTIC
RETURN CAST(REVERSE(CAST(num AS CHAT)) AS INT);

以上是关于在mysql中反转一个数字的主要内容,如果未能解决你的问题,请参考以下文章

2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段

在mysql中反转一个数字

使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化

如何在 BackStack 上反转片段动画?

不反转数字的字符反转[关闭]

关于代码片段的时间复杂度