首页 > SQL新手问题: varchar可以转换为float,但是转换为decimal时就会报错。程序如下:

SQL新手问题: varchar可以转换为float,但是转换为decimal时就会报错。程序如下:

SELECT [列 0],AVG(cast([列 7] as numeric(8,2))) 
FROM [华夏].[dbo].[华夏原始数据] 
GROUP BY [列 0] 
having avg(cast([列 7] as decimal(8,2)))>60;

报错:从数据类型 varchar 转换为 numeric 时出错。

注:原始表格中的列7中没有字母,全是字符串型的数字。

错在哪里了?


numeric换成decimal,另外这样写会简洁一些:

SELECT [列 0],AVG(cast([列 7] as decimal(8,2))) AS average
FROM [华夏].[dbo].[华夏原始数据] 
GROUP BY [列 0] 
having average > 60;
【热门文章】
【热门文章】