码迷,mamicode.com
首页 > 数据库 > 详细

oracle生成uuid

时间:2014-08-22 17:49:59      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:io   ar   问题   cti   sp   ad   on   c   oracle   

select sys_guid() from dual;

-->78AE331ADB2B4CE7AB598B1317B39D58


但该函数如下问题:
     1.返回类型为RAW
     2.没有- (dash)分隔符
     3.返回的字母大写

为了使产生的uuid符合rfc 4122的标准
创建函数如下,测试通过。

create or replace function get_uuid return varchar2 is
  v_uuid varchar(36);
begin
  v_uuid := lower(rawtohex(sys_guid()));
  v_uuid := substr(v_uuid, 1, 8) || ‘-‘ || substr(v_uuid, 9, 4) || ‘-‘ ||
            substr(v_uuid, 13, 4) || ‘-‘ || substr(v_uuid, 17, 4) || ‘-‘ ||
            substr(v_uuid, 21, 12);
  return v_uuid;
end get_uuid;

select get_uuid() from dual ;
-->7bb0152a-4c5c-4078-a1b8-f57ae58254e5

oracle生成uuid

标签:io   ar   问题   cti   sp   ad   on   c   oracle   

原文地址:http://blog.csdn.net/cxx504659987/article/details/38759949

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!