SQL Server 2008-将列从Float更改为Varchar会产生科学符号



我不得不将表中当前为Float的一列更改为Varchar,但当我使用alter命令时,它会将一些较长的数字存储在Scientific Notation中。

我能避免这种情况吗?

如果没有,有没有一种方法可以在以后轻松地更新表,将科学表示法存储为正整数?

感谢

请检查链接

在SQL server中将float转换为varchar而不使用科学符号

您可以将浮点转换为varchar(max)

如何在SQL Server 中将float转换为varchar

我有一个我过去使用过的解决方法。丹离我们不远了,但光选角是行不通的。您可以通过添加一个新的varchar列来更改表,然后使用str和ltrim从旧的float列更新新列。假设你的varchar列是varchar(50),使用类似于的内容

更新YourTable设置NewColumn=ltrim(str(OldColumn,50))

str()转换为字符数据,ltrm()去掉左边多余的空格。然后,您可以随时删除旧列。感觉不舒服,但应该对你有用。

最新更新