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 |