핵심 원리: TO_CHAR 함수
TO_CHAR
함수는 숫자나 날짜 데이터를 문자형 데이터로 변환할 때 사용됩니다. 이를 통해 날짜 형식을 다양한 형식으로 포맷할 수 있으며, 숫자에 대해 원하는 형식으로 포맷을 지정할 수 있습니다.
기본 문법:
TO_CHAR(value, format)
value
: 변환할 숫자 또는 날짜 값입니다.format
: 변환된 값의 형식을 지정하는 포맷입니다. 날짜와 숫자에 따라 다른 포맷을 사용할 수 있습니다.
예시:
TO_CHAR(hiredate, 'YYYY-MM-DD')
: 날짜를 ‘년-월-일’ 형식의 문자열로 변환합니다.TO_CHAR(sal, '999,999.99')
: 급여를 천 단위 콤마와 소수점 2자리까지 표시되는 문자열로 변환합니다.
연습 문제
- 모든 사원의 입사일을 ‘YYYY-MM-DD’ 형식으로 출력하는 SQL 문을 작성하세요.
- 급여를 ‘999,999’ 형식으로 변환하여 출력하는 SQL 문을 작성하세요.
연습 문제 해답
SELECT ename, TO_CHAR(hiredate, 'YYYY-MM-DD') AS hire_date FROM emp;
- 이 쿼리는 모든 사원의 입사일을 ‘년-월-일’ 형식으로 출력합니다.
SELECT ename, TO_CHAR(sal, '999,999') AS formatted_salary
FROM emp;
- 이 쿼리는 사원들의 급여를 천 단위 콤마를 포함한 형식으로 출력합니다.
응용 문제
- 사원의 입사일을 ‘월-일-년’ 형식으로 출력하세요.
- 급여와 커미션을 합한 금액을 ‘999,999.99’ 형식으로 변환하여 출력하세요.
응용 문제 해답
SELECT ename, TO_CHAR(hiredate, 'MM-DD-YYYY') AS hire_date FROM emp;
- 이 쿼리는 사원들의 입사일을 ‘월-일-년’ 형식으로 출력합니다.
SELECT ename, TO_CHAR(sal + NVL(comm, 0), '999,999.99') AS total_compensation
FROM emp;
- 이 쿼리는 급여와 커미션을 합한 금액을 천 단위 콤마와 소수점 2자리까지 표시되는 형식으로 출력합니다.
실무 유형 문제
- 고객의 구매 날짜를 요일로 표시하여 출력하세요.
- 사원의 연봉을 ‘연봉: 999,999’ 형식으로 변환하여 출력하세요.
실무 유형 문제 해답
SELECT customer_name, TO_CHAR(purchase_date, 'Day') AS purchase_day
FROM customers;
- 이 쿼리는 고객의 구매 날짜를 요일 형식으로 변환하여 출력합니다.
SELECT ename, TO_CHAR(sal * 12, '"연봉: "999,999') AS annual_salary
FROM emp;
- 이 쿼리는 사원의 연봉을 ‘연봉: 999,999’ 형식으로 변환하여 출력합니다.