SQL中的数字格式

时间:2016-07-29 13:27:18

标签: sql oracle

我有一个例如39.46的数字 我希望它以,格式转换,即它应该在SQL

中看起来像39,46

是否有以,分隔格式转换十进制数量的函数?

2 个答案:

答案 0 :(得分:2)

NLS设置为NLS_NUMERIC_CHARACTERS,您可以在其中设置","作为小数分隔符和"。"分开成千上万。它们通常在您设置区域设置时自动设置。你显然使用英语语言环境。

请参阅here

这假设您的数据库中有实际数字,而不是看起来像数字的字符串。对于字符串,您可能希望使用Thomas G所描述的刺激转换操作。

答案 1 :(得分:0)

下面我将演示如何使用数字格式和nls_numeric_characters参数,这两个参数都用于数字输入和字符串输入。注意格式模型中的d(或D),它表示“使用任何适当的小数分隔符。”

SQL> select to_char(93.23, '999d99', 'nls_numeric_characters='',.''') from dual;

TO_CHAR
-------
  93,23

1 row selected.

Elapsed: 00:00:00.14
SQL> select to_char(to_number('93.23'), '999d99', 'nls_numeric_characters='',.''') 
                                                                            from dual;

TO_CHAR
-------
  93,23

1 row selected.