在SQL SUM语句中设置精度

时间:2012-07-16 20:58:27

标签: asp.net sql oracle gridview sum

我有一个SQL SUM,我也在划分,但我想将精度设置在第十位,例如10.1而不是10.12。你会怎么做呢?这是我的SQL语句:

 SELECT DISTINCT PAINT_LINE, SUM(HOURS_REQUIRED/WORKING_DAYS) AS HOURS_REQUIRED,
  TO_CHAR(WEEK_START, 'YYYY/MM/DD') AS WEEK_START FROM 
 DCSI.PAINTYEARLYPAINTHRSPROJECTIONS WHERE USER_ID = :UserID AND WEEK_START>=SYSDATE-7
  AND WEEK_START<=SYSDATE+63 GROUP BY WEEK_START, PAINT_LINE ORDER BY WEEK_START DESC, PAINT_LINE

我想将HOURS_REQUIRED设置为第十精度,但我不知道如何解决这个问题。

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试:

ROUND(SUM(HOURS_REQUIRED / WORKING_DAYS),1)AS HOURS_REQUIRED

请参阅:

http://msdn.microsoft.com/en-us/library/ms175003.aspx

答案 1 :(得分:2)

执行此操作的最佳方法是将其转换为具有正确精度的数字:

cast(<val> as numeric(8,1))
例如

在你的情况下,这将是:

cast(SUM(HOURS_REQUIRED/WORKING_DAYS) as numeric(8, 1)) AS HOURS_REQUIRED