SQL 解压缩 GZIP
SQL Decompress GZIP
我们需要将 GZIP 压缩数据发送到我们的总部,并以压缩字符串的形式接收回复。
很容易转换成我们需要发送的字符串:
declare @MyTable_Compressed as table (a varbinary(max))
insert into @MyTable_Compressed
select compress('abc') from @MyTable_Uncompressed
但是,我们的 HO 现在将他们的字符串作为回复发回给我们:
"0x1F8B08000000000004004B61486548630000FF27F81D06000000"
如何解压这个字符串,使纯文本显示为 "def"?
我试过了,但出现错误(参数数据类型 varchar 对于 Decompress 函数的参数 1 无效。)
select cast(decompress('0x1F8B08000000000004004B61486548630000FF27F81D06000000') as nvarchar(max)) as ReadableText
不要将压缩值括在撇号中。尝试使用 varchar 而不是 nvarchar。
select cast(decompress(0x1F8B08000000000004004B61486548630000FF27F81D06000000) as varchar(max)) as ReadableText
我们需要将 GZIP 压缩数据发送到我们的总部,并以压缩字符串的形式接收回复。 很容易转换成我们需要发送的字符串:
declare @MyTable_Compressed as table (a varbinary(max))
insert into @MyTable_Compressed
select compress('abc') from @MyTable_Uncompressed
但是,我们的 HO 现在将他们的字符串作为回复发回给我们:
"0x1F8B08000000000004004B61486548630000FF27F81D06000000"
如何解压这个字符串,使纯文本显示为 "def"?
我试过了,但出现错误(参数数据类型 varchar 对于 Decompress 函数的参数 1 无效。)
select cast(decompress('0x1F8B08000000000004004B61486548630000FF27F81D06000000') as nvarchar(max)) as ReadableText
不要将压缩值括在撇号中。尝试使用 varchar 而不是 nvarchar。
select cast(decompress(0x1F8B08000000000004004B61486548630000FF27F81D06000000) as varchar(max)) as ReadableText