问题:
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函数的用法