green
註冊時間: 2003-09-19 文章: 136
第 1 樓
|
發表於: 星期一 六月 21, 2010 1:48 pm 文章主題: MSSQL小數點怪事? |
|
|
Declare @RateToNT NUMERIC(12,5)
Select @RateToNT=CAST(RateToNT as NUMERIC(12,5)) From SpInvcBas Where SpInvcNum=@SpInvcNum
print @RateToNT (結果:32.24500)
--
SELECT @RateToNT as QQ2 ,0 as snnum, InvoiceNum = @InvoiceNum,t1.SpInvcNum, t1.PkgTitle, t1.OutStkDate,t1.OutStkTime, t1.OutAddr, t1.NonStock,t2.CustPONum, t2.PartNum, t2.Revision,t2.OutDateCode, t4.CustomerPartNum, t2.IsLLPiece, @RateToNT as QQ , t2.Quantity, t2.Cost,TaxRate = convert(real, t6.ParamsOne) * 100,Tax = t2.UnitPrice * @RateToNT * t2.Quantity * convert(real, t6.ParamsOne),t3.ShortName,@RateToNT as RateToNT,
t1.Taxed,t2.ponum,t2.notes, t7.MoneyName
...................................
結果QQ2 與 QQ的結果竟然不同(紅字部分)
QQ2 = 32.24500
QQ = 32.244999
怎麼會這樣...
補充一下:
它後面有UNION另外一個Select ,看來是受了它的影響
補充一下:
確定是union的關係
union的相對欄位型態不一致所以導致同一計算式,結果不同
但還沒測試其型態不同時,是以何者為準? |
|