小编典典

SQL Server:将varchar转换为十进制(还要考虑指数表示法)

sql

我需要转换表的数据并进行一些操作。

列数据类型之一是Varchar,但它存储 十进制 数字。我正在努力将转换varchardecimal

我试过了 CAST( @TempPercent1 AS DECIMAL(28, 16))

问题在于数据也具有某些指数形式的值,例如:1.61022e-016

sql查询在遇到该值时抛出错误。错误是Error converting data type varchar to numeric.

在varchar到十进制转换期间,应如何处理指数表示法值?


阅读 222

收藏
2021-04-22

共1个答案

小编典典

您可以尝试执行以下操作,但可能会降低准确性:

select cast(cast('1.61022e-016' AS float) as DECIMAL(28, 16))
2021-04-22