SQL之36进制转换成10进制数据
2009-09-11 15:27
477 查看
--创建人 :郑紫至
--创建日期:2009-9-10
--参数描述:@StrHex36 被转换36进制字串
--测试方法:SELECT dbo.ConvertHex36To10('A6ZQ2')
CREATE FUNCTION dbo.ConvertHex36To10
(@StrHex36 VARCHAR(100))
RETURNS INT
AS
BEGIN
DECLARE @StrHex36Len INT --被转换36进制字串的长度
DECLARE @Base36To10 INT --每位36进制基数对应的10进制数据大小
DECLARE @Index INT --字符串索引
DECLARE @Hex10 INT --被返回10进制数据
DECLARE @Base36 VARCHAR(1)--36进制基数
SET @Hex10=0
SET @StrHex36Len=LEN(@StrHex36)
SET @Index=1
WHILE @Index<=@StrHex36Len
BEGIN
SET @Base36=SUBSTRING(@StrHex36,@Index,1)
SET @Base36To10=CHARINDEX(@Base36,'0123456789ABCDEFGHIJKLNMOPQRSTUVWXYZ')-1
SET @Hex10=@Hex10+@Base36To10*POWER(36,@StrHex36Len-@Index)
SET @Index=@Index+1
END
RETURN @Hex10
END
--创建日期:2009-9-10
--参数描述:@StrHex36 被转换36进制字串
--测试方法:SELECT dbo.ConvertHex36To10('A6ZQ2')
CREATE FUNCTION dbo.ConvertHex36To10
(@StrHex36 VARCHAR(100))
RETURNS INT
AS
BEGIN
DECLARE @StrHex36Len INT --被转换36进制字串的长度
DECLARE @Base36To10 INT --每位36进制基数对应的10进制数据大小
DECLARE @Index INT --字符串索引
DECLARE @Hex10 INT --被返回10进制数据
DECLARE @Base36 VARCHAR(1)--36进制基数
SET @Hex10=0
SET @StrHex36Len=LEN(@StrHex36)
SET @Index=1
WHILE @Index<=@StrHex36Len
BEGIN
SET @Base36=SUBSTRING(@StrHex36,@Index,1)
SET @Base36To10=CHARINDEX(@Base36,'0123456789ABCDEFGHIJKLNMOPQRSTUVWXYZ')-1
SET @Hex10=@Hex10+@Base36To10*POWER(36,@StrHex36Len-@Index)
SET @Index=@Index+1
END
RETURN @Hex10
END
相关文章推荐
- iOS 一个在UDP/TCP通信时,对16进制、10进制、NSData等数据之间的转换发送等处理的工具类库,一行代码将16进制字符串轻松转换成UDP需要的指令数据
- SQL之10进制转换成36进制数据
- 超级(无限)大的 --- 整型10进制数据与16进制数据相互转换
- 16进制字符串转换成10进制数据
- 最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类
- javascript各进制数据与十进制之间的转换
- C# 控制台输入输出非字符串类型数据的方法[进制数字转换为八进制数字]
- Linux下的C语言编程——10进制转换成任意进制的字符串
- C# 16进制转换10进制
- dataset 中将 将2进制数组列的数据 转换成文件 和 从文件中 转换到 dataset 方法
- itoa()函数,10进制转换到(2~36)进制
- C#实现整型数据字任意编码任意进制的转换和逆转换简介
- 数制转换,将10进制转换为8进制 C语言 栈的应用
- java 10 进制 转换为 2 进制, 利用递归
- C# 数据16进制转10进制,richtextbox中查找字符串
- java语言基础(10)——类型强制转换时的数据溢出计算
- C/C++编程语言之进制转换16进制字符串转10进制字符串
- Day3、C语言数据类型、变量的输入与输出、进制的转换
- 将10进制转换成为目标进制表示
- 数据的存储与进制转换