Sql 数字掩蔽&;nls_参数
所以我有一个疑问:Sql 数字掩蔽&;nls_参数,sql,oracle,number-formatting,Sql,Oracle,Number Formatting,所以我有一个疑问: SELECT ROUND(SUM(COLUMN1*(COLUMN3-COLUMN2)),2) FROM .... WHERE .... 编辑:四舍五入到2位小数 它返回此格式-示例: 5.25 231.12 .92 (预期输出:0,00): 那么,我如何才能正确地掩盖这一点呢 SELECT ROUND( to_number(SUM(COLUMN1*(COLUMN3-COLUMN2)),'[FORMAT_MASK]', '[NLS_PARAM=]') ,0) 使
SELECT ROUND(SUM(COLUMN1*(COLUMN3-COLUMN2)),2) FROM .... WHERE ....
编辑:四舍五入到2位小数
它返回此格式-示例:
5.25
231.12
.92
(预期输出:0,00):
那么,我如何才能正确地掩盖这一点呢
SELECT ROUND(
to_number(SUM(COLUMN1*(COLUMN3-COLUMN2)),'[FORMAT_MASK]', '[NLS_PARAM=]')
,0)
使用
来指定格式模型中的十进制字符D
当会话的NLS\u数字\u字符
默认为,.
(“十进制字符组分隔符”)或您已使用
alter session set NLS_NUMERIC_CHARACTERS = ',.';
select to_char(231.12, '99999D99') from dual;
显示
231,12
您可以通过将NLS\u数字\u字符
指定为第三个参数来改变行为
select to_char(231.12, '99999D99','NLS_NUMERIC_CHARACTERS='',.''') from dual;
231,12
由于值0,92
,我在格式_mask->'9990d99'
中添加了一个0
。很好用。谢谢你,伙计!
select to_char(231.12, '99999D99','NLS_NUMERIC_CHARACTERS='',.''') from dual;
231,12