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转换为数值时出错
有人知道为什么吗?
谢谢。
SELECT @b = CONVERT(REAL, @a, 2)
科学记数法仅适用于FLOAT和REAL。
FLOAT
REAL