当前位置: 代码迷 >> Oracle管理 >> oracle将16位数目字转为10位字符串
  详细解决方案

oracle将16位数目字转为10位字符串

热度:163   发布时间:2016-04-24 04:05:22.0
oracle将16位数字转为10位字符串
问题:
16位字符串数字转为10位字符串(转换后不要求为数字字符),保证唯一就行。
例如:
0000000000000009
1000000000000009
2013102412002406
请解答:

------解决思路----------------------
最简单的把这前后加起来的12位连起来看成是12位的数字,然后把他to_char转化为16进制即可
SELECT to_char(130110000005,'XXXXXXXXXX') FROM DUAL;

------解决思路----------------------
如果跟源数据没什么关联,只要求唯一,直接生产随机数就行了:生产10位的随机数
select substr(cast(dbms_random.value as varchar2(38)),3,10) from dual ;
学习了oracle中CAST函数的用法
  相关解决方案