SqlServer和Oralce保留几位小数以及当末尾小数为0也显示
需求描述:对数字类型值保留2位小数,当2位小数末尾出现0时也显示
SqlServer处理方法:
1.首先通过Round函数保留2位有效数字,多出的位数值变成0
2.通过Cast函数转成decimal(18,2),保留2位小数
例子:
select Round(2.10233);执行结果:2.10000
select Cast(Round(2.10233) as decimal(18,2));执行结果:2.10
Oralce处理方法:
1.首先通过Round函数保留2位有效数字,多出的位数值变成0
2.通过to_char函数对结果进行格式化
例子:
select Round(2.10233) from dual;执行结果:2.10000
select to_char(Round(2.10233) ,'FM9999990.00')from dual;执行结果:2.10
解析To_char(待转换的数字,'转换格式');
9:代表一个占位符,若该位置为数字则显示,若没有数字则显示空格
0:代表一个占位符,若该位置为数字则显示,若没有数字则显示0
FM:删除因9带来的多余空格
注意:如果数值的位数比较多,则多写几个9或0,因为当数值的位数超出格式表示的位数时,数字会显示成#
比如:select (1111.2,'90.0') from dual;执行结果:#####