使用填充和返回将ASCII转换为HEX?

时间:2014-10-01 19:26:08

标签: sql tsql

我正在一个数据库中工作,该数据库要求将ASCII值存储为十六进制,每个字符之间有间距。我找到了一种方法来加密/解密'在Python中,但我需要能够在SQL 2008 R2中本地执行此操作。这甚至可能吗?

以下示例输入/输出:

Text Input:                        Test
Input in ASCII:                    0x54657374
How input needs to be in database: 0x540065007007400

我不知道如何将文本输入转换为数据库所需的输入,并严格按照SQL转换。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

假设您可以将ASCII输入保存为nchar,这是一种方法:

declare @myHex nchar(12)
set @myHex = '0x54657374'
select '0x' +
       SUBSTRING(@myHex, 3, 2) + '00' +
       SUBSTRING(@myHex, 5, 2) + '00' +
       SUBSTRING(@myHex, 7, 2) + '00' +
       SUBSTRING(@myHex, 9, 2) + '00'