sql server 保留2位小数,如果整数 后面补0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 保留2位小数,如果整数 后面补0相关的知识,希望对你有一定的参考价值。

比如:

数值 结果
15 15.00

13 13.00

13.2325 13.23

1、创建测试表,

create table test_num(id number, value number);

2、插入测试数据

insert into test_num values(1,15);

insert into test_num values(2,13);

insert into test_num values(3,13.2325);

insert into test_num values(4,15.7681);

commit;

3、查询表中数据,select t.*,rowid from test_num t;

4、编写sql,保留2位小数,如果整数 后面补0;

select t.*,

       case

         when not regexp_like(round(value, 2), '\\D') then

          round(value, 2) || '.00'

         else

          to_char(round(value, 2))

       end as value2

  from test_num t;

参考技术A select CAST(15 as decimal(18,2))
select CAST(15.235 as decimal(18,2))追问

后面没有补0

追答

你确定?

本回答被提问者采纳
参考技术B select 数值,convert(varchar,convert(decimal(10,2),数值)) as 结果 from table 参考技术C CAST(数值 AS NUMERIC(12,2))追问

后面没有补0

追答

参考技术D 加上decimal(X,2)

X代表非小数位的长度,2就是代表小数的位数

c++保留小数点后几位

参考技术A 如果不做特殊的输出语句,默认情况下不论对于单精度还是双精度的形浮型数,以Cout<<x形式输出的情况下,c++保留六位有效数字。并不保证有几位小数。

以上是关于sql server 保留2位小数,如果整数 后面补0的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server里如何把查询出来结果的小数点去掉

SQL中如何让百分比后面保留2位小数?

cast as decimal(10,2)

sqlserver怎么把小数点后面多余的0去掉

sqlserver怎么把小数点后面多余的0去掉

求教,sql保留2位小数