我们有一个user表,userId是Sybase数据库中的uniqueidentifier类型。我们输入的值是来自C#应用程序的GUID值。当我们通过Sybase工具查看表时,该值显示为3835FD60-ACDE-4345-99AB-54263E9A07AE
。当我们将该字段复制/粘贴到文本文件时,它显示为0x3835fd60acde434599ab54263e9a07ae
。当我们使用odbc(在python中)访问该字段时,生成(Hex)字符串为
3835FD60ACDE434599AB54263E9A07AE
。
为什么它显示不同? 感谢
答案 0 :(得分:8)
Guid只是一组字节;它不是一个字符串。与整数123相同的不是字符串“123”。有多种方法可以将其显示为人类可读的字符串。您可以使用Guid.ToString(string)
格式说明符选择格式:http://msdn.microsoft.com/en-us/library/97af8hh4.aspx
简单地说:他们选择使用不同的格式。 Guid是一样的。
答案 1 :(得分:1)
通常,UUID / GUID值存储为128位整数,因此任何显示格式都有效。我们在引用UUID或GUID时习惯的格式化显示只是将该128位整数转换为方便的字符串格式。
在Python中,您应该能够将值传递给uuid.UUID
类,以便获取UUID对象,然后可以按照惯例格式对其进行格式化。