我有一个例如39.46
的数字
我希望它以,
格式转换,即它应该在SQL
39,46
是否有以,
分隔格式转换十进制数量的函数?
答案 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.