函数说明
将参数number 转换为字符串,并进行格式化输出。如果number 的位数大于格式
化参数FORMAT 的参数,结果将以“#”显示。
参数说明
表5- 11 参数说明
格式化参数
含
义
,
一般作为分组符号使用,
将number 参数格式化为数位格式字符串
输出,例如千位一分组,也可以按百位、十位一分组。通常与0、
9、“.”配合使用。
示例:99,999。
.
将number 参数格式化为小数形式的字符串输出。只能出现一次。
通常与0、9、“,”配合使用。
示例:999.99。
$
转换为美元货币含义的字符串,只能出现在最前或最后。
示例:$999。
0
占位符,格式化number,如果参数number 的位数少于格式化的
位数,则显示0 补足位。注意:0 的优先级高于9。
示例:000。
9
占位符,格式化number,一旦参数number 的位数少于格式化的
位数,则用空格补足位。
示例:999。
B、b
如果number 的值为0,则替换为空格,可以出现在任意位置。
示例:B9.99
EEEE、eeee
按照科学计数法输出。
示例:9.99EEEE。
FM、fm
删除数字开头和结尾处的空格。
示例:FM909.9。
TME
按照科学计数法返回number。
X、x
转换为16 进制。每个X 代表16 进制的一位。
例如:XX,代表两位16 进制数。
如果number,转换成16 进制数大于X 的个数,则输出“#”。
注意:数值必须是大于等于0 的整数。前面只能和0 或者FM 组
合使用。
示例
示例1:以百位作为分组。
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
707
gbase> SELECT TO_CHAR(987654321,'999,999,999') FROM dual;
+----------------------------------+
| TO_CHAR(987654321,'999,999,999') |
+----------------------------------+
|
987,654,321
|
+----------------------------------+
1 row in set
示例2:用空格位补足数值位。
gbase> SELECT TO_CHAR(54321,'999,999,999') FROM dual;
+------------------------------+
| TO_CHAR(54321,'999,999,999') |
+------------------------------+
|
54,321
|
+------------------------------+
1 row in set
示例3:
因为0 的优先级高于9,
所以十万位和百万位均以0 显示,
千万位和亿位
以空格显示。
gbase> SELECT TO_CHAR(54321,'990,999,999') FROM dual;
+------------------------------+
| TO_CHAR(54321,'990,999,999') |
+------------------------------+
|
0,054,321
|
+------------------------------+
1 row in set
gbase> SELECT TO_CHAR(-54321,'990,999,999') FROM dual;
+-------------------------------+
| TO_CHAR(-54321,'990,999,999') |
+-------------------------------+
|
-0,054,321
|
+-------------------------------+
1 row in set
示例4:小数格式化输出。
gbase> SELECT TO_CHAR(12.97,'099.99') FROM dual;
+-------------------------+
| TO_CHAR(12.97,'099.99') |
+-------------------------+
|