所以我有一个查询:
SELECT ROUND(SUM(COLUMN1*(COLUMN3-COLUMN2)),2) FROM .... WHERE ....
编辑:舍入到两位小数。
它返回此格式-例如:
5.25
231.12
.92
(预期输出:# ##0,00
):
5,25
231,12
0,92
那么,我该如何正确屏蔽呢?
SELECT ROUND(
to_number(SUM(COLUMN1*(COLUMN3-COLUMN2)),'[FORMAT_MASK]', '[NLS_PARAM=]')
,0)
答案 0 :(得分:2)
使用TO_CHAR
在格式模型中正确指定小数字符D
默认情况下,或您的会话的NLS_NUMERIC_CHARACTERS
为,.
(“ decimal_character group_separator ”)时,或您使用
alter session set NLS_NUMERIC_CHARACTERS = ',.';
select to_char(231.12, '99999D99') from dual;
显示
231,12
您可以通过将NLS_NUMERIC_CHARACTERS
分配为第三个参数来更改行为
select to_char(231.12, '99999D99','NLS_NUMERIC_CHARACTERS='',.''') from dual;
231,12