使用LEFT和LEN将Float转换为奇怪的格式(例如6.0871e)

问题描述 投票:0回答:1

我有大约7000万行数据,其中一列包含数字,但它是浮点格式。我需要摆脱该列的最后4位数字,即我需要转动它

60871003002001 60871003002002 60871003002003

进入这个

6087100300 6087100300 6087100300

当我运行查询

select top 3 LEFT(COLUMN, LEN(COLUMN)-4) as a from TABLE

它返回以下内容:

6.0871e 6.0871e 6.0871e

有谁知道为什么?我正在使用SQL Server。没有空值,每个数字的长度为12到15位。

谢谢!

sql sql-server
1个回答
2
投票

相反,除以1000并变成小数:

select cast( (col / 10000) as decimal(18, 0))

您面临的问题是浮点数到字符串的默认转换有时可能是科学计数法。

© www.soinside.com 2019 - 2024. All rights reserved.