0

私も分割している SQL SUM がありますが、精度を 10 番目の位置に設定したいので、たとえば 10.12 ではなく 10.1 にします。これをどのように行うつもりですか?これが私の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 を 10 分の 1 の精度に設定したいのですが、どうすればよいかわかりません。

ありがとう!

4

2 に答える 2

2

これを行う最善の方法は、正しい精度で数値にキャストすることです。

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

例えば。

あなたの場合、これは次のようになります。

cast(SUM(HOURS_REQUIRED/WORKING_DAYS) as numeric(8, 1)) AS HOURS_REQUIRED
于 2012-07-16T21:23:17.367 に答える
2

試す:

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

見る:

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

于 2012-07-16T21:08:42.553 に答える