0
我有一个转换 7,80E + 18(存储为varchar)到7800000000000000000小问题(还可以存储为varchar)SQL Server转换
任何想法如何在SQL查询做到这一点。我不能修改源文件
感谢您的帮助:)
我有一个转换 7,80E + 18(存储为varchar)到7800000000000000000小问题(还可以存储为varchar)SQL Server转换
任何想法如何在SQL查询做到这一点。我不能修改源文件
感谢您的帮助:)
将其转换为decimal
:
select cast(7.80E+18 as decimal(20, 0));
然后,您可以将它转换为一个字符串,如果你喜欢:
select cast(cast(7.80E+18 as decimal(20, 0)) as varchar(255));
这是Rextester。
编辑:
你可以先转换为float
:
cast(cast(cast('7.80E+18' as float) as decimal(20, 0)) as varchar(255)) ,
但是,当我店值7.80E + 18如表一个varchar我在转换过程中出现错误。所以这一个不工作 选择强制转换(cast('7,80E + 18'作为十进制(28,0))作为varchar(128)) – Piotr
@Piotr。 。 。将逗号更改为小数点。 SQL Server可能对此很烦琐。 –