首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与mysql中的数字相反

问与mysql中的数字相反
EN

Stack Overflow用户
提问于 2017-12-17 08:49:56
回答 2查看 2.3K关注 0票数 1

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

代码语言:javascript
复制
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 ;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-17 09:19:14

mysql中的while循环应该用于类似的操作。

这是第一个问题

代码语言:javascript
复制
while n>0 do
    content..
end while

第二个问题是

代码语言:javascript
复制
dbms_output.put_line('Reverse number is: '||rev);

在mysql中,您不能使用上面的代码。

相反,您可以使用这个

代码语言:javascript
复制
Select 'The reverse of number is 'rev;

所以你的代码是

代码语言:javascript
复制
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 ;
票数 0
EN

Stack Overflow用户

发布于 2017-12-17 09:17:05

正如注释中所指出的,不能在甲骨文中使用mysql语法。不管怎样,我觉得你把事情搞得太复杂了。一种更简单的方法是将数字转换为字符串,使用内置函数将其反转,然后将其转换回数字:

代码语言:javascript
复制
CREATE FUNCTION reverse_int(num INT)
RETURNS INT DETERMINISTIC
RETURN CAST(REVERSE(CAST(num AS CHAT)) AS INT);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47853539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档