2010-02-23 111 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)來執行此操作。