首页 > 解决方案 > 从值中删除小数

问题描述

我有一个创建报告的查询。报告很好,但值有我不想看到的小数。谁能帮我?

查询如下:

SELECT A.ItemCode, B.ItemName, A.OnHand,  a.WhsCode , a.MinOrder*b.NumInBuy as 'Minimum Voorraad'

FROM OITW A WITH (NOLOCK) 
LEFT OUTER JOIN OITM B WITH (NOLOCK) ON A.ItemCode = B.ItemCode
where b.ItemCode like '1%'  AND B.FrozenFor = 'N' And A.WhsCode ='KTC DV'  and ItmsGrpCod='112'
and  (a.MinOrder*b.NumInBuy) >= a.OnHand and a.MinOrder >0

我得到的报告是这样的:

在此处输入图像描述

我现在该怎么做才能删除小数?例如 5.000000 必须是 5,而 5.00000000000 必须是 5。

先感谢您。

标签: sqlsql-servertsql

解决方案


利用cast

select cast(235.415 as integer) 

它将返回 235

所以在你的情况下

    SELECT A.ItemCode, B.ItemName, cast(A.OnHand as integer),  a.WhsCode ,
cast( a.MinOrder*b.NumInBuy as integer) as 'Minimum Voorraad'    
    FROM OITW A WITH (NOLOCK) 
    LEFT OUTER JOIN OITM B WITH (NOLOCK) ON A.ItemCode = B.ItemCode
    where b.ItemCode like '1%'  AND B.FrozenFor = 'N' And A.WhsCode ='KTC DV'  and ItmsGrpCod='112'
    and  (a.MinOrder*b.NumInBuy) >= a.OnHand and a.MinOrder >0

推荐阅读