5. 날짜 관련 함수 ② (TO_CHAR, TO_DATE)
안녕하세요.
지난 번에 이어 날짜 관련 함수는 업무 중에도 유용하게 자주 쓰일 것 같아 기록하려고 합니다.
< INDEX >
1. 날짜 간 개월 수 출력 (MONTHS_BETWEEN)
2. 개월 수 더한 날짜 출력 (ADD_MONTHS)
3. 특정 날짜 뒤에 오는 요일 날짜 출력 (NEXT_DAY)
4. 특정 날짜가 있는 달의 마지막 날짜 출력 (LAST_DAY)
5. 문자형으로 데이터 유형 변환 (TO_CHAR)
6. 날짜형으로 데이터 유형 변환하기 (TO_DATE)
5. 문자형으로 데이터 유형 변환 (TO_CHAR)
5.1 이름이 SCOTT인 사원의 이름과 입사한 요일 출력, SCOTT의 월급에 천 단위 출력하기
SELECT ename, TO_CHAR(hiredate, 'DAY') as "요일", TO_CHAR(sal, '999,999') as "월급"
FROM emp
WHERE ename = 'SCOTT';
출력 결과
5.2 KING 사원의 입사일의 연도, 달, 일, 요일 출력하기
SELECT TO_CHAR(hiredate, 'RRRR') as 연도, TO_CHAR(hiredate, 'MM') as 달,
TO_CHAR(hiredate, 'DD') as 일, TO_CHAR(hiredate, 'DAY') as 요일
FROM emp
WHERE ename = 'KING';
출력 결과
5.3 1981년도에 입사한 사원의 이름과 입사일 출력하기
SELECT ename, hiredate
FROM emp
WHERE TO_CHAR(hiredate, 'RRRR') = '1981';
출력 결과
5.4 사원들의 입사 년도/달/요일 출력하기
SELECT ename as 이름, EXTRACT(year from hiredate) as 연도,
EXTRACT(month from hiredate) as 달,
EXTRACT(day from hiredate) as 요일
FROM emp;
출력 결과
5.5 사원의 이름, 월급은 천 단위 표시해서 출력
SELECT ename as 이름, TO_CHAR(sal, '999,999') as 월급
FROM emp;
출력 결과
5.6 월급의 천 단위와 백만 단위 표시해서 출력하기
SELECT ename as 이름, TO_CHAR(sal*200, '999,999,999') as 월급
FROM emp;
출력 결과
알파벳 L을 사용하면 화폐 단위 ₩(원화)를 붙여 출력 가능합니다.
SELECT ename as 이름, TO_CHAR(sal * 200, 'L999,999,999') as 월급
FROM emp;
출력 결과
6. 날짜형으로 데이터 유형 변환하기 (TO_DATE)
6.1 입사일자가 81.11.17인 사원들의 이름, 입사일 출력하기
SELECT ename, hiredate
FROM emp
WHERE hiredate = TO_DATE('81/11/17', 'RR/MM/DD');
출력 결과
6.2 현재 접속한 세션의 날짜 형식 확인하기
SELECT *
FROM NLS_SESSION_PARAMETERS
WHERE parameter = 'NLS_DATE_FORMAT' ;
출력 결과
6.3 날짜 형식 변경 -> 일/월/년
ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/RR';
SELECT ename, hiredate
FROM emp
WHERE hiredate = '17/11/81';
출력 결과
6.4 날짜 형식 변경 -> 년/월/일
ALTER SESSION SET NLS_DATE_FORMAT = 'RR/MM/DD';
감사합니다,
다음 장에서는 NULL값과 관련한 공부 기록을 진행할 예정입니다.🙌