oracle生成uuid函数-爱代码爱编程
在Oracle数据库中,可以使用SYS_GUID()函数来生成一个通用唯一识别码(UUID)。以下是一个简单的例子:
SELECT SYS_GUID() FROM DUAL;
这条SQL语句会返回一个新生成的UUID。SYS_GUID()函数返回的是一个RAW(16)数据类型的值。
如果你想要UUID的字符形式(36字符的字符串),可以使用RAWTOHEX函数和SUBSTR函数来格式化输出:
SELECT LOWER(SUBSTR(RAWTOHEX(SYS_GUID()), 1, 8) || '-' ||
SUBSTR(RAWTOHEX(SYS_GUID()), 9, 4) || '-' ||
SUBSTR(RAWTOHEX(SYS_GUID()), 13, 4) || '-' ||
SUBSTR(RAWTOHEX(SYS_GUID()), 17, 4) || '-' ||
SUBSTR(RAWTOHEX(SYS_GUID()), 21, 12)) AS uuid
FROM DUAL;
这个例子中,我们使用RAWTOHEX(SYS_GUID())将RAW格式的UUID转换成了16个字符的十六进制字符串,然后使用SUBSTR函数按照UUID的标准格式进行分割并拼接。LOWER函数用来将结果转换成小写,因为UUID通常是大小写敏感的。