消息 8114,级别 16,状态 5,第 1 行
从数据类型 nvarchar 转换为 float 时出错。
创建的表格内格式都是nvarchar(255)
这个是什么情况 数字不能强制转换么
------解决思路----------------------
一般是非法数据导致的,请检查一下字段值.
举例如下,
create table #t(x nvarchar(10))
insert into #t(x)
select '1' union all
select '3.14' union all
select 'aabb' -- 非法数据
select cast(x as float) 'x'
from #t
/*
错误信息:
Msg 8114, Level 16, State 5, Line 2
Error converting data type nvarchar to float.
*/
------解决思路----------------------
查询不是数字的记录:
select * from (
select '1' col1
union all
select '123.456' col1
union all
select '123.456.789' col1
union all
select 'abcd' col1
union all
select '中文' col1
) table1
where ISNUMERIC(col1) = 0