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