SQL: select varchar 的平均值
SQL: select average of varchar
我想制作一份报告,显示不同任务的平均成绩。
我在计算平均值时遇到了问题。我需要弄清楚如何将成绩转换为浮点数,以便我可以取平均值。成绩有时具有非数字或空值,尽管大多数值看起来像“2.0”或“3.5”。我可以排除任何非数字的东西。
这是我目前拥有的:
Select
GradingScores.task As task,
Avg(Cast((SELECT GradingScores.score WHERE GradingScores.score LIKE '%[^0-9]%')As float)) As averages
From
GradingScores
我正在使用 FlySpeed SQL 查询。
您可以尝试使用 IsNumeric
Select
GradingScores.task As task,
Avg(Cast(GradingScores.score as float) As averages
From
GradingScores where IsNumeric(GradingScores.score) = 1
只需简单地在 T-SQL
中使用 convert() 和 isnumeric() 函数
select avg(convert(float,score))
from GradingScores
where isnumeric(score)=1
以下是对我有用的方法:
SELECT AVG(CAST(columnName AS FLOAT)) FROM tableName;
我想制作一份报告,显示不同任务的平均成绩。
我在计算平均值时遇到了问题。我需要弄清楚如何将成绩转换为浮点数,以便我可以取平均值。成绩有时具有非数字或空值,尽管大多数值看起来像“2.0”或“3.5”。我可以排除任何非数字的东西。
这是我目前拥有的:
Select
GradingScores.task As task,
Avg(Cast((SELECT GradingScores.score WHERE GradingScores.score LIKE '%[^0-9]%')As float)) As averages
From
GradingScores
我正在使用 FlySpeed SQL 查询。
您可以尝试使用 IsNumeric
Select
GradingScores.task As task,
Avg(Cast(GradingScores.score as float) As averages
From
GradingScores where IsNumeric(GradingScores.score) = 1
只需简单地在 T-SQL
中使用 convert() 和 isnumeric() 函数select avg(convert(float,score))
from GradingScores
where isnumeric(score)=1
以下是对我有用的方法:
SELECT AVG(CAST(columnName AS FLOAT)) FROM tableName;