SQL十进制和十六进制相互转换
CREATE FUNCTION ufn_ConvertInt2Hex ( @Num BIGINT )
RETURNS VARCHAR(500)
AS
BEGIN
/**************************************
-- 功能:十进制转十六进制
-- 作者:GarsonZhang
-- 时间:2016年5月28日13:26:55
-- 测试:
PRINT dbo.ufn_ConvertInt2Hex(50)
**************************************/ DECLARE @Result VARCHAR(500)
SET @Result = ''
WHILE ( @Num > 0 )
BEGIN
SET @Result = SUBSTRING('0123456789ABCDEF', @Num % 16 + 1, 1)
+ @Result
SET @Num = @Num / 16
END
RETURN @Result
END
GO CREATE FUNCTION ufn_ConvertHex2Int ( @HexString VARCHAR(16) )
RETURNS BIGINT
AS /**************************************
-- 功能:十六进制转十进制
-- 作者:GarsonZhang
-- 时间:2016年5月28日13:30:24
-- 测试:
PRINT dbo.ufn_ConvertInt2Hex(50)
**************************************/
BEGIN
DECLARE @Result BIGINT DECLARE @i INT ,
@len INT DECLARE @power BIGINT
SET @power = 16 SELECT @i = 0 ,
@Result = 0 ,
@HexString = RTRIM(LTRIM(UPPER(@HexString))) SET @len = LEN(@HexString) IF ( @len = 16 )
BEGIN
IF ( ASCII(SUBSTRING(@HexString, 1, 1)) > 55 )
BEGIN
-- RaisError('超出数据运算范围', 1, 16)
RETURN @Result
END
END
-------------------------------------------------------
WHILE ( @i < @len )
BEGIN
IF ( ( SUBSTRING(@HexString, @len - @i, 1) NOT BETWEEN '' AND '' )
AND ( SUBSTRING(@HexString, @len - @i, 1) NOT BETWEEN 'A' AND 'F' )
)
BEGIN
SET @Result = 0
BREAK;
END
---------------------------------------- SET @Result = @Result + ( CHARINDEX(SUBSTRING(@HexString,
@len - @i, 1),
'0123456789ABCDEF') - 1 )
* CAST(POWER(@power, @i) AS BIGINT)
SET @i = @i + 1
END
----------------------------------------------
RETURN @Result
END
SQL十进制和十六进制相互转换的更多相关文章
- Oracle中的二进制、八进制、十进制、十六进制相互转换函数
原文:Oracle中的二进制.八进制.十进制.十六进制相互转换函数 Oracle中的二进制.八进制.十进制.十六进制相互转换函数 今天在网上看到一篇关于在oracle中对各种进制数进行转换的帖子, ...
- 3、颜色的字符串、十进制、十六进制相互转换(color convert between dec、hex and string )
int color_int=***; 1.(十进制整数)转换成(十六进制的字符串) String color_hex = String.format("#%06X", (0xFFF ...
- Int32 最大的数值是多少???(附十进制十六进制相互转换且包含正负数的java代码)
正数转二进制很简单,转十六进制也很简单. 那么负数的情况下呢?在计算机中无法识别你给的符号“+”,"-",计算机只认识0和1 那么在二进制中如何表示负数. 先简单介绍一下负数如何转 ...
- Java 二进制,八进制,十进制,十六进制转换
A.十进制转换其他 十进制转成二进制 Integer.toBinaryString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成十六进制: ...
- ORACLE十进制与十六进制的转换
十进制与十六进制的转换 十进制-->十六进制 select to_char(100,'XX') from dual; 十六进制-->十进制select to_number('7D','XX ...
- C# 十进制与十六进制互转
1.从十六进制转换为十进制 /// <summary> /// 十六进制转换到十进制 /// </summary> /// <param name="hex&q ...
- C# 二进制,十进制,十六进制
//十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...
- C# 十进制和十六进制转换
转至:http://www.cnblogs.com/fwind/archive/2012/04/13/2445380.html 在C#中,十进制和十六进制转换非常简单,方法如下: 十进制转为十六进制: ...
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
public class DigitalTrans { /** * 数字字符串转ASCII码字符串 * * @param String * 字符串 * @return ASCII字符串 */ publ ...
随机推荐
- Spring+SpringMVC+MyBatis)
用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合的 ...
- co css规范
CSS 编码规范 1. 文件组织 (建议试试LESS) 1.1 CSS 与 HTML CSS 一律写在 CSS 文件中,原则上不写内联样式. CSS 文件命名由小写字母.下划线(_)组成. CSS 文 ...
- Elasticsearch--数据索引
前言 Elasticsearch可以支持全文检索,那么ES是以什么机制来支持的,这里索引就是一个重要的步骤,经过索引之后的文档才可以被分析存储.建立倒排索引.本篇就是以ES的数据检索操作来讨论的. 更 ...
- 160930、Javascript的垃圾回收机制与内存管理
一.垃圾回收机制-GC Javascript具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存. 原理:垃圾收集器会定期(周期性 ...
- Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值
Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值 Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,is not null在thinkp ...
- JVM学习笔记(二)------Java代码编译和执行的整个过程【转】
转自:http://blog.csdn.net/cutesource/article/details/5904542 版权声明:本文为博主原创文章,未经博主允许不得转载. Java代码编译是由Java ...
- [转]Jexus的常用操作和基本配置
转自http://www.cnblogs.com/xiaodiejinghong/archive/2013/04/05/3000404.html 3.Jexus的操作 经过两个章节关于Jexus的介绍 ...
- 创建sh文件
创建sh文件 #/bin/bash v_file=$ v_type=$ v_desc=$ touch $v_file echo '#================================== ...
- 13、mysql/触发器
1. mysql mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据 sql语句 2)管理数据库: 增加: create database 数据库 default ...
- ectouch第十讲 之ecshop中 dwt, lbi 文件详解
原文:http://www.yunmoban.cn/article-241.html Ecshop包括的文件夹有admin.api.cert.data.images.includes.js. lang ...