varchar 列返回数字的指数表示

varchar column returning exponential representation of number

我有一个 varchar(max) 列,有时 returns 我使用数字的指数格式,如下所示:

1e+006

如何更改 table 中的列以始终显示实际数字而不是数字的指数表示?

我会将该列更改为不同的数据类型或其他内容,但我不知道我会将其更改为什么,因为我不明白为什么 varchar 列中会发生这种情况。

像 '1e+006' 这样的 varchar 可以转换为 float,然后可以进一步转换为您喜欢的任何数字类型。

所以这可能很简单

alter table mytable alter column mycolumn float

可能后面会转为十进制类型:

alter table mytable alter column mycolumn decimal(20,5)