Sku*_*nia 37 sql sql-server sql-server-2008
这是我的SQL语句
SELECT ROUND(AVG(column_name), 100)
FROM [database].[dbo].[table]
Run Code Online (Sandbox Code Playgroud)
我检索的答案是908行3之间可能的数字范围1 - 5.
我需要它说3.0或3.09.这可能吗?
Guf*_*ffa 99
平均值将具有与值相同的数据类型,因此强制转换值:
SELECT ROUND(AVG(CAST(column_name AS FLOAT)), 2) FROM [database].[dbo].[table]
Run Code Online (Sandbox Code Playgroud)
小智 5
我不确定这是否会帮助你skullomania,但试试这个
SELECT CAST(AVG(CAST(column_name as DECIMAL(10,2))) AS DECIMAL(10,2))FROM [table_name]
Run Code Online (Sandbox Code Playgroud)
浮点数是近似值,另一方面,十进制数将使其更精确,您可能想要读取浮点数数学和小数.我一开始就挣扎着,有时还会感到迷茫.希望这会帮助你.
在C#中不确定我是否可以在此处发布答案而遇到麻烦,但您是否尝试将其转换为双精度并使用 ExecuteScalar()
试试这个:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn= sqlconnectionstring;
SqlCommand cmd = new SQLCommand("SELECT STATEMENT",conn);
cmd.CommandType = CommandType.Text;
conn.Open();
Double result = Convert.ToDouble(cmd.ExecuteScalar());
lblresult.text = "the result is " + result;
conn.Dispose();
cmd.Dispose();
}
Run Code Online (Sandbox Code Playgroud)