sql查询,如果是整数就不显示小数点,如果是小数就显示小数

2024-12-19 03:36:34
推荐回答(2个)
回答1:

create table #temp3
(
aNo varchar(50),
qty decimal(18,2)
)

insert into #temp3
select 'A',1
union
select 'B',1.1
union
select 'C',1.2

select * from #temp3
select aNo,
case when right(qty,2)='00'
then left(qty,len(qty)-3)
when right(qty,2)<>'00' and right(qty,1)='0'
then left(qty,len(qty)-1)
else '0' end
from #temp3

将你的表同参数代入最后的查询语句就可以得出结果了。

回答2:

使用 round(n,m)函数,n为要查询的数,m为保留的小数位(会四舍五入),查询的数小数位 最后一个非零数 之后的 零 不会保留(如图所示)。

图片有点模糊,补充一下:

sql为:select round(1.00,2),round(1.10,2),round(1.20,2),round(1.31274,3) from dual;

查询结果为:1   1.1   1.2   1.313