我想知道Oracle的SYS_GUID()函数是否返回符合RFC 4122的UUID.例如:
SQL> select sys_guid() from dual;
SYS_GUID()
--------------------------------
A6C1BD5167C366C6E04400144FD25BA0
Run Code Online (Sandbox Code Playgroud)
我知道,SYS_GUID()返回一个16字节的RAW数据类型.Oracle使用RAWTOHEX()和可能TO_CHAR()打印出上面的ID.将其解释为符合UUID的字符串格式是否正确:
A6C1BD51-67C3-66C6-E044-00144FD25BA0
Run Code Online (Sandbox Code Playgroud)
我认为它不符合RFC 4122标准,因为定义说,有效的UUID必须在UUID本身内命名UUID-Version.
符合RFC 4122的UUID(版本3)的语法:
xxxxxxxx-xxxx-3xxx-xxxx-xxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)