为什么转换不过来

流浪若相惜 2015-01-24 10:08:09
use [1]
insert into result(mavg)
select avg(convert( float,[ Soil_Moisture_4cm]))
from dbo.上游10号节点20131101

错误:从数据类型 varchar 转换为 float 时出错。
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我也经常遇到 这个 : 从数据类型 varchar 转换为 float 时出错 错误。 之所以会出现这个错误,原因是在这个列中,存储了一些非数字的数据,比如存了 'abc' 或者是中文字,或者是其他符号了。 所以建议这么预先判断一下: select avg(convert( float,case when isnumeric( [ Soil_Moisture_4cm]) = then Soil_Moisture_4cm else 0 end )) from dbo.上游10号节点20131101
tcmakebest 2015-01-24
  • 打赏
  • 举报
回复
不是所有Soil_Moisture_4cm字段值都可以转换成数值, 这个问题从一开始就没有正确定义字段, 然后又没有正确存储.

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧