본문 바로가기
카테고리 없음

오라클 변환함수 TO_CHAR, TO_DATE, TO_NUMBER 완벽 정리

by 기록하는 거부기 2025. 10. 16.

SQL을 작성하다 보면 데이터 타입을 변환해야 하는 상황이 자주 발생합니다.
예를 들어 날짜를 문자로 바꾸거나, 문자를 숫자로 변환해야 할 때가 있습니다.
오라클에서는 이러한 타입 변환을 위해 변환 함수(Conversion Function) 를 제공합니다.
대표적인 세 가지는 TO_CHAR, TO_DATE, TO_NUMBER 입니다.

이번 글에서는 각 함수의 특징과 사용법을 실무 예제와 함께 정리해보겠습니다.


1. 오라클 변환 함수란?

오라클의 변환 함수는 데이터 타입 간의 변환을 수행합니다.

  • TO_CHAR : 숫자나 날짜 → 문자
  • TO_DATE : 문자 → 날짜
  • TO_NUMBER : 문자 → 숫자

이 함수들을 이해하면 데이터 출력 형식을 조정하거나 날짜 연산을 쉽게 처리할 수 있습니다.


2. 문자 변환 함수 TO_CHAR

TO_CHAR는 숫자나 날짜를 문자형(CHAR/VARCHAR2) 으로 변환합니다.

 

📘 기본 문법

TO_CHAR(value [, format])

 

📘 날짜를 문자로 변환

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS NOW_DATE
FROM DUAL;

2025-10-16 14:32:10 형태로 표시됩니다.

 

📘 숫자를 문자로 변환

SELECT TO_CHAR(1234567, '9,999,999') FROM DUAL;

1,234,567 형태로 출력됩니다.

💡 TO_CHAR는 출력 포맷을 지정할 수 있어 화면 표시나 로그 출력 시 자주 사용됩니다.


3. 날짜 변환 함수 TO_DATE

TO_DATE는 문자 데이터를 날짜로 변환할 때 사용됩니다.
문자열을 날짜 타입으로 바꾸면 날짜 연산, 비교, 정렬이 가능해집니다.

 

📘 기본 문법

TO_DATE(char [, format])

 

📘 예시

SELECT TO_DATE('2025-10-16', 'YYYY-MM-DD') AS CONVERTED_DATE
FROM DUAL;

'2025-10-16' 문자열이 DATE 타입으로 변환됩니다.

 

📘 시간까지 포함하는 예시

SELECT TO_DATE('2025-10-16 15:30:00', 'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;

⚠️ 문자열 포맷과 실제 데이터 포맷이 다르면 변환 오류가 발생하므로 주의해야 합니다.


4. 숫자 변환 함수 TO_NUMBER

TO_NUMBER는 문자를 숫자로 변환할 때 사용됩니다.
주로 문자열 형태의 숫자 데이터를 계산 가능하도록 바꿀 때 유용합니다.

 

📘 기본 문법

TO_NUMBER(char [, format])

 

📘 예시

SELECT TO_NUMBER('1,234,567', '9,999,999') + 10 AS RESULT
FROM DUAL;

1234577 결과를 반환합니다.

💡 입력 문자열에 쉼표나 포맷이 포함되어 있으면 포맷 문자열을 반드시 지정해야 합니다.


5. 실무에서 자주 쓰이는 변환 함수 조합 예시

📘 문자열로 된 날짜 비교 처리

SELECT *
FROM ORDERS
WHERE TO_DATE(ORDER_DATE_STR, 'YYYYMMDD') >= TO_DATE('20250101', 'YYYYMMDD');

 

📘 숫자 포맷 변환 후 표시

SELECT TO_CHAR(SALARY, '999,999,999') AS SALARY_FORMAT
FROM EMPLOYEES;

 

📘 날짜 차이 계산

SELECT TO_DATE('2025-12-31', 'YYYY-MM-DD') - TO_DATE('2025-01-01', 'YYYY-MM-DD') AS DAYS_DIFF
FROM DUAL;

→ 결과는 364일로 계산됩니다.


✅ 마무리

TO_CHAR, TO_DATE, TO_NUMBER는 오라클 SQL에서 가장 많이 사용되는 기본 변환 함수입니다.

  • TO_CHAR : 날짜·숫자 → 문자
  • TO_DATE : 문자 → 날짜
  • TO_NUMBER : 문자 → 숫자

포맷을 올바르게 지정하면 데이터 변환 에러를 방지하고,
조회 결과를 가독성 높게 표시할 수 있습니다.

오라클을 다루는 개발자라면 반드시 숙지해야 할 핵심 함수입니다.