Oracle
oracle 천단위(3자리) 콤마
IT 땅그지
2019. 7. 26. 09:26
반응형
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 [데브포유]
반응형