2010-02-23 114 views
0

当我在微软企业经理VARBINARY领域做一个select语句我得到readabel十六进制格式领域像ab2c2f2d ......但是当我做同样的statment与pymssql我得到一个gibrish蟒蛇和SQL服务器

选择语句是:从表中选择x - 其中x varbinary字段

有人可以帮助解决此问题吗?

+0

你没有得到“一个gibrish”,你正在得到原始的二进制数据。 – voyager 2010-02-23 17:51:17

+0

但我怎么可以将它转换为十六进制格式,如微软企业管理器中显示的那样 – dan 2010-02-23 17:52:53

回答

2

Microsoft企业管理器正在为您将二进制值转换为十六进制字符串。

一个选项是将您的查询更改为SELECT CAST(x AS varchar)FROM表。这将使SQL Server将varbinary转换为十六进制字符串,http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx

另一种方法是使用python模块binascii将二进制数据自己转换为十六进制字符串。您可以使用函数binascii.b2a_hex(data)或binascii.hexlify(data)来执行此操作。