Oracle sql使用sys_guid() 生成32位id乱码解决办法


Oracle sql使用sys_guid() 生成32位id乱码解决办法

(48条消息) Oracle sql使用sys_guid() 生成32位id乱码解决办法_Zero .-CSDN博客

前言
之前用过sys_guid()方法生成过32位id,时间一长忘掉了。正所谓'好记性不如烂笔头',今天记一记。

正题
select sys_guid() from dual;


可以看到,直接乱码了。

原因:SYS_GUID 以16位RAW类型值形式返回一个全局唯一的标识符

解决办法
使用rawtohex()函数方法。

这里科普一下

hextoraw():十六进制字符串转换为raw;

rawtohex():将raw串转换为十六进制;

乱码解决:

select rawtohex(sys_guid()) from dual;


可以看到,乱码没有了。

转小写:
select lower(rawtohex(sys_guid())) from dual;

————————————————
版权声明:本文为CSDN博主「Zero .」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/admin123404/article/details/107763333


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM