在 SQL 中避免使用 NEWID() 中的某些字符

Avoid certain characters in NEWID() in SQL

我有一个包含 idname 列的 table。在 id 列中,插入了使用 NEWID() 生成的密钥。

SET @myid = NEWID()
SELECT @id = SUBSTRING(CONVERT(varchar(255), @myid), LEN(@myid)-5, LEN(@myid))

这可能是一些随机生成的字母数字密钥,但我想避免使用此密钥中的字母 O 和数字 0。简单地替换 O 和 0 是行不通的。还有其他方法吗?

NEWID() function produces a UNIQUEIDENTIFIER value AKA a GUID。您无法控制价值是什么,这也不重要。如果你需要控制它,那你就用错了。它不仅仅是随机生成的字符串(我建议您阅读我提供的 link 中的 GUID)。

GUID值由0-9和A-F的十六进制字符组成。因此,您永远不会得到字母 O.