FM(Fill Mode)은 SQL TO_CHAR 함수의 옵션 중 하나로 FM을 이용해 숫자를 원하는대로 포맷하거나 공백을 제거할 수 있다. 보통 9와 0을 이용해서 포맷을 하는 것이 일반적인데 9와 0은 각각 다음의 기능을 한다.
9 : 해당 자리에 숫자가 없으면 표기 X
0 : 해당 자리에 숫자가 없으면 0으로 표기
이해를 돕기 위해 아래 쿼리를 실행해보면
SELECT TO_CHAR(123, '99999'),
TO_CHAR(123, '00000')
FROM DUAL;
결과는 아래와 같다.

-> 0은 해당 자리에 숫자가 없으면 0으로 채우고 있는 것을 확인 가능
또, SQL에서는 소수점 위의 숫자가 없으면 '.1', '.2' 식으로 앞에 0이 사라져서 출력되는데 이를 수정하기 위해서 FM을 사용하면 된다.
예시:
SELECT TO_CHAR(0.1, 'FM0.9')
FROM DUAL;
결과:

FM을 사용하여 큰 숫자에 천 단위 표시를 해주는 방법도 있다.
예시:
SELECT TO_CHAR(1234567.89, '9,999,999.99')
FROM DUAL;
결과:

특정 소수점 아래자리까지 표기하고 싶다면 아래와 같이 입력하면 된다.
예시:
SELECT TO_CHAR(7.5, '999.00')
FROM DUAL;
결과:

'Oracle > 공부' 카테고리의 다른 글
| [SQL] SQL의 실행 과정과 옵티마이저(Optimizer) (0) | 2025.01.11 |
|---|---|
| [SQL] LEVEL을 이용해서 구구단 1단부터 9단까지 출력하기 (0) | 2025.01.07 |
| [SQL] MAX(COUNT())가 실행되지 않는 이유(집계함수, 윈도우함수) (1) | 2025.01.05 |
| [SQL] FROM 서브쿼리 별칭을 WHERE 서브쿼리에서 참조할 수 없는 이유 (2) | 2025.01.03 |
| [SQL] 다중 행 서브쿼리에서 ANY & ALL 연산자 사용 (1) | 2025.01.02 |