先做类型转换,如果varchar字段里有非数值的数据,则不能比较 cast(varchar类型字段 as decimal(18,2)) 可以用isnumeric(varchar类型字段)=0来查询是否存在非数值的数据