我需要转换表的数据并进行一些操作。
列数据类型之一是Varchar,但它存储 十进制 数字。我正在努力将转换varchar为decimal。
Varchar
varchar
decimal
我试过了 CAST( @TempPercent1 AS DECIMAL(28, 16))
CAST( @TempPercent1 AS DECIMAL(28, 16))
问题在于数据也具有某些指数形式的值,例如:1.61022e-016。
1.61022e-016
sql查询在遇到该值时抛出错误。错误是Error converting data type varchar to numeric.
Error converting data type varchar to numeric.
在varchar到十进制转换期间,应如何处理指数表示法值?
您可以尝试执行以下操作,但可能会降低准确性:
select cast(cast('1.61022e-016' AS float) as DECIMAL(28, 16))