35进制的目的是防止0和O造成的视觉误差

BEGIN

DECLARE m_StrHex35 VARCHAR(100); -- 返回35进制表示的结果

DECLARE m_Remainder BIGINT; -- 余数

DECLARE m_Base35 VARCHAR(1);

SET m_Remainder=0;

SET m_StrHex35='';

WHILE p_Hex10>=35 DO

SET m_Remainder=p_Hex10%35;

SET p_Hex10=(p_Hex10-m_Remainder)/35;

SET m_Base35=SUBSTRING('0123456789ABCDEFGHIJKLMNPQRSTUVWXYZ',m_Remainder+1,1);

SET m_StrHex35=CONCAT(m_Base35,m_StrHex35);

END WHILE;

SET m_Remainder=p_Hex10%35;

SET m_Base35=SUBSTRING('0123456789ABCDEFGHIJKLMNPQRSTUVWXYZ',m_Remainder+1,1);

SET m_StrHex35=CONCAT(m_Base35,m_StrHex35);

-- PRINT @StrHex35

RETURN  m_StrHex35;

END

BEGIN

DECLARE m_StrHex35Len INT ;      -- 被转换35进制字串的长度

DECLARE m_Base35To10  INT ;      -- 每位35进制基数对应的10进制数据大小

DECLARE m_Index       INT ;      -- 字符串索引

DECLARE m_Hex10       BIGINT ;      -- 被返回10进制数据

DECLARE m_Base35      VARCHAR(1) ; -- 35进制基数

DECLARE m_Middle_Data BIGINT;

SET m_Hex10=0;

SET m_StrHex35Len=LENGTH(p_StrHex35);

SET m_Index=1;

WHILE (m_Index<=m_StrHex35Len) DO

SET m_Base35=SUBSTR(p_StrHex35 from m_Index for 1);

SET m_Base35To10= LOCATE(m_Base35,'0123456789ABCDEFGHIJKLMNPQRSTUVWXYZ') - 1;

-- 注意:这里必须先把Power的值保存到一个变量,不能计算的结果直接乘一个另外的变量,这样会造成计算结果不正确

SET m_Middle_Data = POWER(35,m_StrHex35Len-m_Index);

SET m_Hex10=m_Hex10+m_Base35To10 * m_Middle_Data;

SET m_Index=m_Index+1;

END WHILE;

RETURN   m_Hex10;

END

mysql 10 进制 转36_mysql 10进制与35进制之间的转换 注意Power处理bigint的问题相关推荐

  1. 【POJ 1200】Crazy Search(将字符映射为数字,将NC进制hash成10进制)

    题目链接 题目链接 http://poj.org/problem?id=1200 题意 原字符串有NC个不同字母,统计原字符串长度为N的子字符串个数 解题思路 将字符按ASCII码映射成数字. 将n个 ...

  2. ipv6 16进制转成10进制的数

    /** * ipv6 16进制转成10进制的数 * @param ip 1:1:2:2:ffff:ffff:ffff:ffff * @returns Array 10进制数的数组 */ ipSrv.p ...

  3. 【python实现进制转换器】10进制整数向任意进制转换

    def radix_any():decimal_number = int(input("请输入10进制数"))asciil = int(input("请输入想转换成的进制 ...

  4. 16进制转带符号的10进制,16进制转负数10进制

    16进制转带符号的10进制,16进制转负数10进制 看代码 echo '<pre>'; $str = 'd8f1'; function hex_dec($str){// 一般说明带符号 第 ...

  5. 16进制字符串转10进制数值

    16进制字符串转10进制数值 描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示. 数据范围:保证结果在 1≤n≤2^31−1 输入描述:输入一个十六进制的数值字符串. 输出描述:输出该 ...

  6. C语言将16进制数转为10进制数

    程序分析: 在16进制转为10进制时会遇到很多情况: 1. 开头是空格.符号等之后才是 0x 或 0X: 对于第一种情况,我们要先判断是字符,把空格这些去了,从字符开始:对于有'+'或'-' 的我们就 ...

  7. 16进制数和10进制数之间的转换

    1.16进制转10进制数 parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数. //将10这个字符指 ...

  8. 数据处理:16进制补码 转换为 10进制数值

    此功能仅为各位兄弟姐妹提供算法思路,由于功能简单直接上代码. 1. 16进制数值直接转换10进制 int HexToInt16_Complemwnt(unsigned char* data, int ...

  9. Java 将26进制数据转为10进制、十进制数据转为其它进制

    1.十进制数据转为其它进制 /*** 进制转换* @param data 十进制数据* @param radix 待转换的进制* @return 转换后的字符串显示*/private String t ...

最新文章

  1. 服务器操作系统安全更新,服务器操作系统安全更新
  2. Java常用类之【字符串相关类型】
  3. 数据结构(哈夫曼树+KMP)之 数据加密+解密
  4. c语言中有哪些函数关系,C语言中有哪些常用的函数
  5. 10停止nginx命令 win_Linux下配置Nginx并使用https协议
  6. 每天快走一小时,身体会有什么变化?
  7. Linux网络处理“零拷贝”技术mmap()内核进程间通信设计8086分页管理——摆在一起来谈谈...
  8. 点击list view中一行内容可以在combox中显示_在后台添加新的产品/文章分类,如何在模板中显示产品列表/文章列表?如何调用分类?...
  9. MySQL常用的日期时间函数
  10. 前端软件开发短期培训需要多长时间
  11. ascii码值为负数_C语言字符型数据的ASCII码值为何是负数?
  12. 【Electronics】数字电路实验——交通灯设计
  13. HAUT 1285: 军团再临【并查集*逆向思维】
  14. 三相桥式全控整流电路simulink仿真_变频器为什么必须整流?整流单元原理图解
  15. BP神经网络解决什么问题
  16. 微信公众号通过图片选取接口上传到阿里oss
  17. SAP HANA client2.0 下载网站
  18. idea翻译成中文是什么意思_agoodidea翻译成中文是什么意思
  19. 动环监控常用相关标准集合
  20. 平板探测器的工作原理和比较各平板探测器优缺点

热门文章

  1. 还有人记得【日之韵】吗?——提供下载
  2. PHP获取当前时间戳,当前时间、及解决时区问题
  3. c++ 异常处理(2)
  4. 高并发下缓存与数据库双写不一致解决方案
  5. 无法远程访问Mysql的解决方案
  6. 解决安装mysql的”A Windows service with the name MySQL already exists.“问题
  7. Spring boot异常统一处理方法:@ControllerAdvice注解的使用、全局异常捕获、自定义异常捕获
  8. 问题解决——AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘
  9. 如何使用a手动创建文件。 Windows中的(点)前缀?例如,.htaccess
  10. 实现Map并保持插入顺序的Java类?