mysql - mysql中数字的反转

标签 mysql sql numbers reverse

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

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 ;

最佳答案

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

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/

相关文章:

file - 如何按行号将大文件拆分成小文件

c# - 如何使用 Odbc 插入 DateTime 对象?

javascript - 我想查看数据库中选定的数据

mysql - 根据字符串匹配插入行

MySQL从具有多个记录的多个表中选择最高连接值的单个记录

c - 如何从较大(11 字节)的唯一编号生成较小的唯一编号?将军C

html - 在 iPhone iOS/Safari 上使用 HTML 输入类型编号显示缺陷

php - 在php mysql中使用 "case ... when"时出错返回数据null?

sql - first_value() over (order by something asc) 应该与 last_value () over (order by something desc) 相同吗?

php - 如何防止PHP中的SQL注入(inject)?