반응형

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 ---



출처: https://dev4u.tistory.com/100 [데브포유]

반응형

'Oracle' 카테고리의 다른 글

Oracle %ROWTYPE  (0) 2019.07.03
오라클 월 처음&마지막 날짜 구하기  (0) 2019.04.25
해당 날짜의 일요일 구하기  (0) 2019.04.02
Oracle Characterset  (1) 2019.01.03
Oracle 테이블 컬럼 추가  (0) 2018.12.27

+ Recent posts