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;执行结果:#####

猜你喜欢

转载自www.cnblogs.com/dragondouble/p/SqlServer_Round_Cast_Oralce_Round_To_Char.html