2014-09-26 1 views
3

가능한 경우 소수 자릿수와 통화 만 표시하도록 내 결과를 얻는 방법을 알아 내려고합니다. 는 지금은이납니다 :SQL (Oracle)에서 통화로 10 진수 변환

PARTID  PARTIDCOUNT AVGPLANAMT 
1001   27   17.02148148148148148148148148 
1002   13   54.18615384615384615384615384 
1003    3   467.4166666666666666666666666 
1009    5   862.27 

SELECT DISTINCT 
D.PARTID, 
COUNT(D.PARTID) AS PARTIDCOUNT, 
AVG(D.PLANAMOUNT) AS AVGPLANAMT 
FROM PARTS.... 
+1

반올림하거나 자르는 요구 사항이 있습니까? –

답변

3

어떻게 다음 (SQL Fiddle)에 대해 :

SELECT PARTID, COUNT(*) AS PARTIDCOUNT, 
     TO_CHAR(AVG(PLANAMOUNT), 'L999,999,999.00') AS AVGPLANAMT 
FROM PARTS 
GROUP BY PARTID 

1 억 임의의 숫자까지 차지할 내가 'L999,999,999.00'을 사용하고 두 번째 매개 변수하십시오. 더 큰 숫자를 수용해야한다면 다음과 같이하십시오 : 'L999,999,999,999,999.00'.

+1

현지화 된 통화 기호의 경우'$'대신'L'을 사용할 수 있습니다. –

+0

** @ Sylvain Leroux **, 전화를 잘 받았다. 대답을 업데이트했다. – Linger

+0

신난다, 고마워! – tia97

1

here을 찾을 수 있습니다 ROUND()에 ROUND 기능을

ROUND(AVG(D.PLANAMOUNT), 2) AS AVGPLANAMT 

더 많은 정보를 사용할 수있는 두 개의 소수 자릿수를 표시합니다.

무엇이 and currency입니까? 앞에서 통화 기호를 $ 만 원합니까?

그렇다면 시도해보십시오.

COLUMN AVGPLANAMT FORMAT $990.99 

자세한 내용은 here을 참조하십시오.

+0

정말 고마워요! – tia97