使用Python读取MSSQL中的uniqueidentifier字段
我使用pyodbc来访问我的MSSQL数据库。
在我的MacOS上,当我读取MSSQL中的uniqueidentifier字段时,可以正确打印出udid字段的值(例如4C444660-6003-13CE-CBD5-8478B3C9C984)。但是当我在Linux CentOS上运行相同的代码时,我看到的却是一些奇怪的字符串,比如"???E??6??????c",而且这个值的类型是"buffer",而不是像在MacOS上那样是"str"。
你能告诉我这是为什么吗?我该如何在Linux上获取正确的uidi值呢?谢谢。
2 个回答
1
这段话虽然有点年头了,但我最近也遇到了同样的问题。我的解决办法很简单,就是把唯一标识符转换成一个字符串(VARCHAR),这样我的Python代码就显得整洁多了:
SELECT CAST(unique_id_column AS VARCHAR(36)) AS my_id FROM...
然后在Python中,只需要输出row.my_id就可以了。
5
在Linux系统中,我使用str(uuid.UUID(bytes_le=value)).upper()这个方法来获取一个像4C444660-6003-13CE-CBD5-8478B3C9C984这样的字符串,这个字符串是用来表示唯一标识符的。