小编典典

SQL Server 2005:将varchar值'1.23E-4'转换为十进制失败

sql

declare @a varchar(40)
set @a='1.23e-4'
declare @b decimal(27,12)

if isnumeric(@a) =1
begin

    select @b=cast(@a as decimal(27,12))

end
else
begin
    select @b=-1
end

select @b

在SQL 2005环境下执行以上sql代码时,出现以下错误。

将数据类型varchar转换为数值时出错

有人知道为什么吗?

谢谢。


阅读 39

收藏
2021-04-07

共1个答案

小编典典

SELECT  @b = CONVERT(REAL, @a, 2)

科学记数法仅适用于FLOATREAL

2021-04-07