Oracle格式化数字
-- Start
所谓格式化数字指的是将数字转为字符串,或将字符串转为数字,下⾯⼏个函数可以⽤来格式化数字。
TO_CHAR(number, 'format')
TO_NUMBER('character', 'format')
TO_BINARY_FLOAT('character', 'format')
TO_BINARY_DOUBLE('character', 'format')
我们先来看看通过下⾯的 SQL 产⽣的结果吧。
SELECT TO_CHAR(number, 'format') FROM DUAL;
Number Format Result
-12345678909999999999S'1234567890-' 099.99' .00'
+0.199.99' .10'
-0.299.99' -.20'
090.99' 0.00'
+0.190.99' 0.10'
-0.290.99' -0.20'
09999' 0'
19999' 1'
0B9999' '
1B9999' 1'
0B90.99' '
+123.456999.999' 123.456'
-
123.456999.999'-123.456'
+123.456FM999.009'123.456'
+123.4569.9EEEE' 1.2E+02'
+1E+1239.9EEEE' 1.0E+123'
+123.456FM9.9EEEE'1.2E+02'
+123.45FM999.009'123.45'
+123.0FM999.009'123.00'
+123.45L999.99' $123.45'
+123.45FML999.99'$123.45'oracle四舍五入
+12345678909999999999S'1234567890+'
那么 Oracle ⽀持哪些格式呢?看看下⾯的表格吧
Format Description
9代表⼀位任意数字
.⼩数点
D本地化⼩数点(NLS_NUMERIC_CHARACTER) ,千分位
G本地化千分位(NLS_NUMERIC_CHARACTER) S在前部或尾部添加正负号
0在前部或尾部添加 0
$在前部添加美元符号
L添加本地化货币符号(NLS_CURRENCY)
U添加DUAL货币符号(NLS_DUAL_CURRENCY) C添加ISO货币符号(NLS_ISO_CURRENCY)
B添加空格如果整数部分为0
X将10 进制转成16进制
V将要格式化的值乘以10n
EEEE科学计数法
MI 对于正数,在尾部添加空格对于负数,在尾部添加负号
PR 对于正数,⽤空格包围对于负数,⽤<>包围
RN返回⼤写罗马数字
rn返回⼩写罗马数字
TM超过64位,返回科学计数法
除此之外,需要特别注意,格式化会引起四舍五⼊,如果数字过⼤,数字会被格式化成类似 > 这样的形式。--更多参见:
-- 声明:转载请注明出处
-- Last edited on 2015-06-12
-- Created by ShangBo on 2015-06-12
-- End

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论