前言
之前用过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;

本文介绍了在使用Oracle数据库的SYS_GUID函数时遇到的乱码问题及其解决方案。通过使用rawtohex函数,可以将SYS_GUID生成的16位RAW类型值转换为可读的十六进制字符串,解决了直接显示时出现的乱码情况。
1960

被折叠的 条评论
为什么被折叠?



