Oracle新建系统表时,要求主键为32位uuid,推測Oracle肯定会提供相关的函数。
翻阅相关文档,果然发现Oracle提供的函数 sys_guid() 用于获取32位uuid,简单使用为
select sys_guid() from dual;
该函数返回32位的uuid为大写,能够使用 lower(sys_guid()) 转为小写.
*用“-”分隔
SELECT SUBSTR(GUID,1,8)||'-'||SUBSTR(GUID,9,4)||'-'||SUBSTR(GUID,13,4)||'-'||SUBSTR(GUID,17,4)||'-'||SUBSTR(GUID,20,12) GUID FROM ( SELECT lower(SYS_GUID()) GUID FROM DUAL )