포스트

[오라클] TO_CHAR

TO_CHAR 함수란?

  • TO_CHAR 함수는 오라클에서 숫자 또는 날짜 값을 문자열로 변환하는 데 사용되는 함수
  • 이 함수는 다양한 형식 모델을 사용하여 숫자와 날짜를 원하는 형식으로 변환이 가능하다.

사용법

사용법은 크게 숫자 값 변환날짜 값 변환이 있다.

숫자 값 변환

1
TO_CHAR(number, '날짜 포맷')
  • 기본적으로 위와 같이 사용한다.
1
SELECT TO_CHAR(12345.67, '99999.99') FROM number;
  • 위 코드는 12345.67을 ‘12345.67’로 변환한다.
  • 형식 모델 예제:
    • '9999': 숫자를 네 자리로 표시한다
      • 예시) TO_CHAR(123, '9999')는 ‘ 123’이 된다.
    • '0000': 네 자리를 채우고 빈 자리는 0으로 채운다.
      • 예시) TO_CHAR(123, '0000')는 ‘0123’이 된다.
    • '9,999.99': 천 단위 구분 기호와 소수점을 포함시킨다.
      • 예시) TO_CHAR(12345.67, '9,999.99')는 ‘12,345.67’이 된다.
    • '$99.99': 달러 기호를 포함하여 표시한다.
      • 예시) TO_CHAR(45.67, '$99.99')는 ‘$45.67’이 된다.

FM(Fill Model)

  • FM은 문자열에서 선행 공백을 제거하는 데 사용된다.
  • TO_CHAR 함수는 숫자 형식 모델에서 자리 수를 채울 때 공백을 사용하지만, FM을 사용하면 이러한 공백이 제거된다.
1
2
SELECT TO_CHAR(123, '9999') FROM number; // ' 123'
SELECT TO_CHAR(123, 'FM9999') FROM number; // '123'
  • FM을 사용하지 않고 TO_CHAR를 사용하면 공백이 포함된 상태인 ‘ 123’으로 변환된다.
  • 하지만 FM을 사용하면 공백이 제거되기 때문에 ‘123’으로 출력된다.
1
SELECT TO_CHAR(123.45, 'FM9999.99') FROM number;
  • 이 쿼리는 숫자 123.45를 변환하여 ‘0123.45’가 아닌 ‘123.45’를 출력한다.
1
SELECT TO_CHAR(12345.67, 'FM$9,999.99') FROM number;
  • 이 쿼리는 달러 기호를 포함시켜 ‘$12,345.67’를 출력한다.

날짜 값 변환

  • TO_CHAR 함수는 날짜 값을 다양한 형식의 문자열로 변환도 가능하다.
  • 날짜 형식 모델을 사용하여 날짜의 형식을 지정할 수 있다.
1
TO_CHAR(date, '날짜 포맷')
  • 기본적으로 위와 같이 사용한다.
1
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM date;
  • 위 쿼리는 현재 날짜를 ‘YYYY-MM-DD’ 형식의 문자열로 변환한다.
  • 형식 모델 예제:
    • 'YYYY-MM-DD': 연-월-일 형식. 예: 2023-06-22.
    • 'DD-MON-YYYY': 일-월(축약)-연 형식. 예: 22-JUN-2023.
    • 'Day, DD Month YYYY': 요일, 일 월(풀네임) 연 형식. 예: Thursday, 22 June 2023.
    • 'HH24:MI:SS': 24시간제 시간-분-초 형식. 예: 14:30:00.
    • 'HH:MI AM': 12시간제 시간-분 오전/오후 형식. 예: 02:30 PM
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.