쿼리에서 가져온 금액을 화면에 보여줄 때,
쿼리내에서 콤마를 찍은 결과값으로 보여주기 위해
오라클에서 쿼리 결과 값에 천단위(3자리) 마다 콤마를 넣어서
출력하는 두 가지 방법에 대해 알아보자.
1) TO_CHAR 함수 활용
: 오라클의 TO_CHAR 함수는 숫자, 날짜, 문자 데이터 유형을
원하는 형식의 문자열로 변환하는 함수이다.
이 함수를 활용하면, 숫자 형태의 값에 3자리마다 콤마를 넣을 수 있다.
1-1) 문법
TO_CHAR( 수치 값, 패턴 값 )
1-2) 예시
SELECT TO_CHAR('123123123', '999,999,999,999,999')
FROM DUAL
;
결과값
1-3) 주의점
: 만약 TO_CHAR 함수에 정의한 패턴 값이 조회되는
숫자 값보다 작은 경우에는 값이 출력이 안되기 때문에,
패턴 값은 충분히 큰 값으로 정의해야한다.
예시
SELECT TO_CHAR('123123123', '999,999')
FROM DUAL
;
결과값
2) REGEXP_REPLACE 함수(정규식) 활용
: 특정 패턴을 찾아 다른 문자열로 대체하는 함수로,
정규표현식을 활용하여 패턴을 지정해주고 변환해줄 수 있다.
2-1) 문법
REGEXP_REPLACE( 원본 문자열, 정규표현식 패턴, 대체할 문자열, 검색 시작 위치(option) )
2-2) 예시
SELECT REGEXP_REPLACE(REVERSE(REGEXP_REPLACE(REVERSE(TO_CHAR(123123123)), '(\d{3})','\1,')), '^,','')
FROM DUAL;
이 정규식 함수를 활용하려면 조금 복잡하다.
- REVERSE 함수를 활용하여 문자열을 뒤집은 뒤,
뒤에서부터 3자리씩 콤마를 넣음 - 콤마를 넣은 문자열을 다시 뒤집은 뒤,
맨 앞에 콤마가 있을 경우 이를 제거
결과값
'DataBase > Oracle' 카테고리의 다른 글
[Oracle] EXISTS, NOT EXISTS 함수 사용법과 예시 (0) | 2025.06.13 |
---|---|
[Oracle] TRUNC 함수 사용법 및 예제(시간과 숫자를 절사하는 함수) (0) | 2025.06.12 |
[Oracle] PL/SQL 함수(Function) 작성법 (0) | 2025.06.05 |
[Oracle] OVER 함수 - GROUP BY 없이 최대,최소,평균 구하기 (1) | 2025.06.04 |
[Oracle] 특정 문자로 자릿수 채우기 LPAD, RPAD 함수 (0) | 2025.06.03 |