Result 字段全部是数据  nvarchar类型的
select  Convert(float,Result)  From table   --这句能查出所有的数据都ok--用Result作为条件就报错
select   Convert(float,Result)  FROM table  WHERE   Convert(float,Result)  > 50 
--提示从数据类型 nvarchar 转换为 float 时出错。

解决方案 »

  1.   

    把你的原始sql贴出来看看。要么是存在不能转的数据,要么是你的sql写法引起一些意外的隐式转换。
      

  2.   

    同意上面中几位的说法。
    语句应该没这么简单,比较复杂。如果写法有错,就可能会导致这种情况发生。
    例如:第一个语句中的某个字段是表A的,而到了第二个语句中,写法没注意,字段变成表B的了,然后表B中这个字段不能转换成float,就报错了。