我得到了一张包含以下数据的表格。
所有我需要做的是查询计算10%的伤害所以我已经完成了以下操作:
SELECT damage = (damage * 10) /100
,[Peril_Code]
FROM [LocExposure].[dbo].[myTable]
并返回以下结果:
[Damage]列是一个浮点数。
我无法弄清楚为什么它会返回错误的计算。
答案 0 :(得分:3)
您的输出是正确的。没错。请检查结果2.44E-06
,其中您的实际值为2.44E-05
。
所以,没有错误。
<强>更新强>
为避免科学记数法,您可以阅读以下文章
convert float into varchar in SQL server without scientific notation
答案 1 :(得分:1)
DECLARE @Damage TABLE
(
Damage FLOAT,
PerilCode CHAR(1)
)
INSERT INTO @Damage VALUES
(2.44253351044103E-05 , 'T'),
(0.000125444785042888 , 'T'),
(0.00015258112714104 , 'T'),
(0.000238995871781784 , 'T'),
(0.000267978447740977 , 'T')
SELECT Damage, Damage * 0.1 [10%], PerilCode
FROM @Damage
输出
Damage 10% PerilCode
---------------------------------------------------------
2,44253351044103E-05 2,44253351044103E-06 T
0,000125444785042888 1,25444785042888E-05 T
0,00015258112714104 1,5258112714104E-05 T
0,000238995871781784 2,38995871781784E-05 T
0,000267978447740977 2,67978447740977E-05 T