SQL 字符串与16进制互换
来源:互联网 发布:淘宝网天猫怡百丽 编辑:程序博客网 时间:2024/06/06 03:23
在网上看到SQL字符串转16进制的语句,经过小小添加,现将SQL字符串与16进制互换的方法记录,以供以后查看。
--SQL char->HEX code
DECLARE @str VARCHAR(4000)
SET @str='SELECT * FROM dbo.TaskHistory' --Your sql char
DECLARE @i INT,@Asi INT,@ModS INT,@res VARCHAR(800),@Len INT,@Cres VARCHAR(4),@tempstr VARBINARY(400)
SELECT @i = 1,@res='',@len=DATALENGTH(@str),@tempStr = CONVERT(VARBINARY,@str)
WHILE @i<=@len
BEGIN
SELECT @Asi = SUBSTRING(@tempstr,1,1),@Cres=''
WHILE @Asi <> 0
BEGIN
SELECT @Mods = @Asi %16,
@Cres=CASE WHEN (@Mods > 9) THEN CHAR(ASCII('A')+@Mods-10)+@Cres ELSE CAST(@Mods AS VARCHAR(4)) + @Cres END,
@Asi = @Asi/16
END
SELECT @res = @res + @Cres,@tempStr = SUBSTRING(@tempStr,2,@len-1),@i = @i+1
END
SELECT '0x'+@res
--HEX code->SQL char
这里使用最简单的方式,利用Cast直接转,这里有个小小的问题,可能出现字符编码不正确或乱码,当出现这种情况时,将varchar换成nvarchar,反之亦然。
--HEX->SQL Char
DECLARE @S VARCHAR(4000);
SET @S=CAST(
0x53454C454354202A2046524F4D2064626F2E5461736B486973746F7279 --your hex code
AS VARCHAR(4000));
SELECT @S
- SQL 字符串与16进制互换
- 二进制流与16进制字符串的互换
- SQL SERVER10进制与16进制互换
- 存储16进制数据的字节数组BYTE与字符串之间的互换
- Java中byte与16进制字符串的互换原理
- Java中byte与16进制字符串的互换原理
- 数字与字符串互换
- java &安卓 16进制字符串与byte互换以及int与byte类型数据转换
- 数字与字符串的互换
- 列表与字符串的互换
- 字符串与unicode编码互换
- 字符串与整型的互换
- 字符数组与字符串互换
- 数组与字符串的互换
- 字符串与ASCII码互换
- 单片机中16进制与浮点数互换
- .NET中颜色与字符串互换
- 整型与字符串类型互换 JAVA
- 互锁函数
- java解析xml文件四种方式
- 2440 5.0BSP触摸屏驱动学习
- javascript 创建 class
- .Net 配置文件的编程
- SQL 字符串与16进制互换
- 操作符重载手册
- linux下图形界面开发的“RC”文件
- 一个关于容抗的计算
- 一个通用的form必填表字段的校验
- 老师对我说
- 动态调用WebService(C#)
- A SURVEY ON AUTOMATIC TEST CASE GENERATION
- 运用C#创建一个.Net下的Web Service