当前位置: 代码迷 >> Sql Server >> 从数据类型 nvarchar 转换为 float 时出错解决方法
  详细解决方案

从数据类型 nvarchar 转换为 float 时出错解决方法

热度:2314   发布时间:2016-04-24 09:21:29.0
从数据类型 nvarchar 转换为 float 时出错
消息 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
  相关解决方案