+ -
当前位置:首页 → 问答吧 → Oracle 数据格式化:例如10045转换为100.45

Oracle 数据格式化:例如10045转换为100.45

时间:2011-09-29

来源:互联网

由于数据库的字段是别人设计的,没有法子,得转换为我需要的数据格式。
字段是varchar类型,都是数字,例如100045
按照目前开发的系统的定义规则,实际上是1000.45,说白了就是精确到分,
最后两位是分,我想把这个格式转换为100045->1000.45
请问这个怎么转换呢,请各位高手帮我下。

作者: frustrate2   发布时间: 2011-09-29

你这个没什么好办法吧 

应该就只有截取字符串再加上“.”拼接,如果数据都是在最后两位前加“.”那截取字符串再拼接也好实现的

作者: hanzs   发布时间: 2011-09-29

Select to_number('100045')/100 As s From dual;
Select round(to_number('100045')/100,2) As s From dual;

作者: qgbin   发布时间: 2011-09-29

引用 2 楼 qgbin 的回复:
Select to_number('100045')/100 As s From dual;
Select round(to_number('100045')/100,2) As s From dual;


Select to_number('5')/1000 As s From dual;
Select round(to_number('5')/1000,2) As s From dual;

同2楼,看看区别

作者: anjiushian   发布时间: 2011-09-29

SQL code
select to_number('100045')/100 result from dual;

/*

    RESULT
----------
   1000.45

1 row selected.

*/

作者: dawugui   发布时间: 2011-09-29