我们有一个应用程序,它将指数中的大型计算结果返回到基本形式,如1.8e + 6。
我们需要将此值保存在数据库中。我们可以将它作为整数存储在数据库中,还是应该首先转换为数字?
请帮助
答案 0 :(得分:3)
SQL Server支持浮点数,包括4字节和8字节。这些以指数表示法接受常量,例如1e4
。数学函数也完全支持它们。
您可以阅读documentation中的类型。
答案 1 :(得分:2)
我认为您可以使用的最大值是:
DECLARE @d float(53)
介于-1.79E + 308和1.79E + 308
之间答案 2 :(得分:1)
SQL将直接使用科学记数法
Select val1 = 1.8e+6
,val2 = cast(1.8e+6 as bigint)
,val3 = cast('1.8e+6' as float)
返回
val1 val2 val3
1800000 1800000 1800000
答案 3 :(得分:0)
您可以将1.8e + 6直接插入到" int"类型的表列中,它将被解释(使用SQL Server 2014测试)。
请注意" int"只能处理大小为1.8e + 31的数字,对于较大的数字,你需要使用bigint。