Oracle TO_CHAR(number) 函数使用指南
Oracle TO_CHAR(number)
是一个内置函数,它使用可选的格式参数将给定的数值转换为 VARCHAR2
数据类型的值。
Oracle TO_CHAR(number)
语法
这里是 Oracle TO_CHAR(number)
函数的语法:
TO_CHAR(n [, fmt [, 'nlsparam' ] ])
参数
n
-
必需的。要转换的数值。
fmt
-
可选的。格式化字符串,比如:
L99G999D99MI
。 nlsparam
-
可选的。
'nlsparam'
参数指定由数字格式元素返回的这些字符:- 十进制字符
- 组分隔符
- 本地货币符号
- 国际货币符号
此参数可以采用以下格式:
NLS_NUMERIC_CHARACTERS = ''dg'' NLS_CURRENCY = ''text'' NLS_ISO_CURRENCY = territory
字符
d
和g
分别表示十进制字符和组分隔符。它们必须是不同的单字节字符。在引号括起来的字符串中,必须在参数值周围使用两个单引号。货币符号有十个字符可用。如果省略
'nlsparam'
或任何一个参数,则此函数使用您会话的默认参数值。
返回值
Oracle TO_CHAR(number)
函数返回。
如果任意一个参数为 NULL
, TO_CHAR(number)
将返回 NULL
。
Oracle TO_CHAR(number)
示例
这里有几个展示了 Oracle TO_CHAR(number)
函数用法的示例。
基本用法
下面是一个简单的示例用 Oracle TO_CHAR(number)
函数将 123456.789
转为字符类型。
SELECT TO_CHAR(123456.789)
FROM dual;
输出:
TO_CHAR(123456.789)
______________________
123456.789
虽然看起来输出和输入相同,但是您可以使用 DUMP()
函数查看他们之间的区别:
SELECT
DUMP(123456.789),
DUMP(TO_CHAR(123456.789))
FROM dual;
输出:
DUMP(123456.789) DUMP(TO_CHAR(123456.789))
__________________________________ ______________________________________________
Typ=2 Len=6: 195,13,35,57,79,91 Typ=1 Len=10: 49,50,51,52,53,54,46,55,56,57
格式
Oracle TO_CHAR(number)
函数允许您指定输出的格式:
SELECT TO_CHAR(1234567.89, '9G999G999D99')
FROM dual;
输出:
TO_CHAR(1234567.89,'9G999G999D99')
_____________________________________
1,234,567.89
在本示例中, 9
代表任意数字, G
代表本地化千分位, D
代表本地化小数点。
您也可使用 0
以增加签到或者尾随 0:
SELECT TO_CHAR(1234567.89, '009G999G999D000')
FROM dual;
输出:
TO_CHAR(1234567.89,'009G999G999D000')
________________________________________
001,234,567.890
或者您可以使用一个 FM
前导符号以适应不同长度的数字:
SELECT TO_CHAR(1234567.89, 'FM999G999G999G999G999G999D99')
FROM dual;
输出:
TO_CHAR(1234567.89,'FM999G999G999G999G999G999D99')
_____________________________________________________
1,234,567.89
请参考 Oracle 数字格式模型。
结论
Oracle TO_CHAR(number)
是一个内置函数,它使用可选的格式参数将给定的数值转换为 VARCHAR2
数据类型的值。