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

oracle生成.net的guid方法;

时间:2015-01-10 15:08:33      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

在Oracle SQL 提供了一个生成uuid的函数sys_guid:
http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/functions187.htm#i79194
http://en.wikipedia.org/wiki/Universally_unique_identifier

SQL> select sys_guid() from dual ;
SYS_GUID()
--------------------------------
A8F662B86E7413FEE040970A437C6BD7


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

为了使产生的uuid符合rfc 4122的标准(http://tools.ietf.org/html/rfc4122)
创建函数如下,测试通过。

CREATE OR REPLACE
FUNCTION get_uuid
RETURN VARCHAR
IS
guid VARCHAR (50);
BEGIN
guid := lower(RAWTOHEX(sys_guid()));
RETURN
substr(guid,1,8)||‘-‘||substr(guid,9,4)||‘-‘||substr(guid,13,4)||‘-‘||substr(guid,17,4)||‘-‘||substr(guid,21,12);
END get_uuid;

oracle生成.net的guid方法;

标签:

原文地址:http://www.cnblogs.com/fgr-lmy/p/4214852.html

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