티스토리 뷰

반응형

숫자형 컬럼을 조회할 경우 조회된 결과 값에 3자리마다 콤마를 찍어 출력하는

2가지 방법입니다.

1. TO_CHAR 함수 이용

SELECT  TO_CHAR( num_col , '999,999,999,999,999')
FROM  TEMP

주의)999,999 패턴을 주실때는 충분히 큰 숫자를 주셔야 합니다. 조회될 수 있는 값보다
       작으면 출력이 안될 수도 있습니다.

2. REGEXP_REPLACE 함수 이용

SELECT NO

      ,REVERSE(TO_CHAR(no)) AS REVERSE_NO

      ,REGEXP_REPLACE(REVERSE(REGEXP_REPLACE( REVERSE(TO_CHAR(no)), '([0-9]{3})','\1,')), '^,','') AS COMMA_NO

FROM

(

  SELECT 123456789 AS no

  FROM dual

) V1

;

<<결과>>

NO REVERSE_NO COMMA_NO

---   -------------    -------------

123456789 987654321 123,456,789


TO_CHAR 함수를 이용하는 방법은 쉽지만 자릿수를 잘 고려하여 패턴을 넣어줘야 불편함이 있고,

REGEXP_REPLACE 함수는 자릿수를 고려하지 않아도 되지만 사용방법이 어렵다는 특징이 있습니다.

상황에 맞게 골라서 사용하시면 되겠습니다.


--- FROM dev4u ---


반응형