Oracle生成uuid函数

在Oracle数据库中,可以使用SYS_GUID()函数来生成一个通用唯一识别码(UUID)。以下是一个简单的例子:

sql 复制代码
SELECT SYS_GUID() FROM DUAL;

这条SQL语句会返回一个新生成的UUID。SYS_GUID()函数返回的是一个RAW(16)数据类型的值。

如果你想要UUID的字符形式(36字符的字符串),可以使用RAWTOHEX函数和SUBSTR函数来格式化输出:

sql 复制代码
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通常是大小写敏感的。

相关推荐
betazhou1 小时前
有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
linux·数据库·mysql·oracle·mariadb
Elohim8151 小时前
数据库SQLite基础
数据库·sqlite
TDengine (老段)1 小时前
TDengine 支持的平台汇总
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
大熊猫侯佩2 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(四)
数据库·swiftui·apple watch
想用offer打牌2 小时前
面试官问:Redis和MySQL数据一致,为什么还需要MySQL?🤠
数据库·redis·mysql
chen.@-@3 小时前
后端下载限速(redis记录实时并发,bucket4j动态限速)
数据库·redis·缓存
王小小鸭3 小时前
【Oracle APEX开发小技巧12】
数据库·oracle
噼里啪啦啦.3 小时前
Spring事务和事务传播机制
数据库·sql·spring
搬码红绿灯3 小时前
MySQL主从复制深度解析:原理、架构与实战部署指南
数据库·mysql·架构
呼拉拉呼拉3 小时前
Redis高可用架构
数据库·redis·架构·高可用架构