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

比如:一张表TAB表中字段全是decimal(18,2)类型因为不确定输入的数字是不是有小数点存储的时候只保留两位小数abc11.11.2select*fromTab的结... 比如:一张表TAB表中字段全是decimal(18,2)类型 因为不确定输入的数字是不是有小数点 存储的时候只保留两位小数
a b c
1 1.1 1.2

select * from Tab 的结果应该是
a b c
1.00 1.10 1.20

我现在需要查出来是
a b c
1 1.1 1.2

请问 这个语句怎么写(表中的数据列比较多200列左右)

求解决
展开
 我来答
百度网友255d1c35d
推荐于2018-06-15 · TA获得超过135个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:149万
展开全部
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

将你的表同参数代入最后的查询顷或丛语雀樱句就可以得出结果了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨丹203
2018-06-15
知道答主
回答量:9
采纳率:0%
帮助的人:8854
展开全部

使用轿岩 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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式