我想在 SQL 中生成唯一的十六进制数字。我怎样才能做到这一点?
如果您知道如何在 c# 中生成,请也包括在内。
在 SQL Server 中:newid()
在 C# 中:System.Guid.NewGuid()
这些为您提供GUID,它们是唯一的十六进制数字;但是,它们的中间往往有破折号 (-),因此您可能需要进行一些字符串解析才能获得所需的内容。但是,除此之外,这应该对您有用。
SQL 服务器:
SELECT NEWID()
甲骨文:
SELECT SYS_GUID()
FROM dual
MySQL:
SELECT UUID()
在PostgreSQL中,您必须使用外部函数,尽管它有UUID
类型。
您可以使用整数 IDENTITY 列,然后将其转换为十六进制使用
CONVERT(varbinary(8), MyTable.MyId)