SQL:在我写的语句中,我只需要quontity字段精确到小数点后四位 ,该如何改动

如题所述

第1个回答  2013-10-11

四舍五入:

select cast(round(avg(cast(数字列 as numeric(18,4))),4) as numeric(18,4)) from table

 

直接舍去:

select cast(avg(数字列) as numeric(18,4)) from table1

 

你的数字列,应该放(case ...)这个表达式进去,这样就可以了。

追问

我放进去报错说avg不是一个公认的内建函数名称?我该怎么写?你能帮我把语句大致写出来吗?

追答

什么数据库?没有avg函数?

追问

如果按照你的说法,那这个句子大概怎么写?我怎么写都不对

第2个回答  2013-10-11

不用那么复杂。你现有的sql语句不动。只要quonotity列稍作改动

SELECT ROUND(quonotity,4) AS quonotity FROM 表

追问

那我该把你这个语句放在哪里?怎么连接到我写的语句?

追答SELECT XXXX,ROUND((CAST WHEN XXXXX),4) AS Quonotity

追问

这样写我试过了,显示结果和之前一样没有变化。

追答SELECT XXXX,ROUND(CAST((CAST WHEN XXXXX) AS decimal),4) AS Quonotity

本回答被提问者采纳