[Oracle] 숫자 천단위 콤마 찍는 2가지 방법

오라클에서 숫자, 금액 등 수치 값에 천 단위로 콤마(쉼표)를 추가하기 위해서는 TO_CHAR 함수를 많이 사용한다. TO_CHAR 함수는 수치 값의 최대 길이를 예측 가능한 경우 오류 없이 사용할 수 있으며, 수치 값의 최대 길이를 예측하기 힘든 경우 정규식 함수를 사용하여 천 단위로 콤마를 추가할 수 있다. 

 

목차
  1. TO_CHAR 함수를 사용하는 방법
  2. 정규식 함수를 사용하는 방법

 

TO_CHAR 함수를 사용하는 방법

SELECT TO_CHAR(1234567890, 'FM999,999,999,999') AS val
  FROM dual

 

 

수치 값에 천 단위 콤마를 추가하기 위해서는 TO_CHAR 함수를 많이 사용한다.

TO_CHAR 함수를 사용할 때는 두 번째 인자에 수치 값의 길이에 맞게 패턴 값을 부여해야 한다.

패턴 값의 길이가 작을 경우 값을 반환하지 못한다.

패턴 값은 되도록이면 미래에 올 수 있는 최대 길이만큼 미리 선언을 해 놓아야 한다.

 

※ TO_CHAR 함수 사용 시 주의사항

 

대입할 수치 값의 최대 크기만큼 패턴 값을 선언해 놓아야 한다. (미래에 아주 큰 값이 생길 수 있을 경우 대비)

수치 값 보다 패턴 값이 작으면 값을 반환하지 못하고 ######으로 표시된다.

FM 키워드를 사용하지 않으면 반환된 값의 앞부분에 공백이 추가된다.

 

 

정규식 함수를 사용하는 방법

SELECT REGEXP_REPLACE(REVERSE(REGEXP_REPLACE(REVERSE(TO_CHAR(1234567890)), '(\d{3})','\1,')), '^,','') AS val    
  FROM dual

 

 

정규식 함수를 사용하여 천 단위 콤마를 추가할 경우 수치 값의 길이를 미리 지정해 놓지 않아도 된다.

정규식 함수를 사용할 경우 쿼리문이 조금 복잡해 보이는 경향이 있다.

미래의 수치 값 길이를 예측하기 힘들 경우 정규식 함수를 사용하는 방법도 좋은 방법이다.

 

오라클 TO_CHAR 함수 사용법 완벽 정리

오라클에서 쿼리문을 작성할 때 TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다. 자주 사용하는 기본 함수이므로 아래의 다양한 변환 방법을 알고 있으면 많은 도움이 된다.

gent.tistory.com

 

댓글

Designed by JB FACTORY