号码屏蔽 & nls_parameter
Number masking & nls_parameter
所以我有一个问题:
SELECT ROUND(SUM(COLUMN1*(COLUMN3-COLUMN2)),2) FROM .... WHERE ....
编辑: 舍入到两位小数。
它returns这种格式-例子:
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)
使用 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
所以我有一个问题:
SELECT ROUND(SUM(COLUMN1*(COLUMN3-COLUMN2)),2) FROM .... WHERE ....
编辑: 舍入到两位小数。
它returns这种格式-例子:
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)
使用 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