[ORACLE] 날짜 포맷 'YY', 'RR' 차이점
정리1. 00~49 에서는 RR, YY 상관 없이 20XX 반환 정리2. 50~99 에서는 RR은 19XX, YY는 20XX 반환 SELECT ENAME,HIREDATE,SAL FROM EMP WHERE HIREDATE between to_date('81/02/20','yy/mm/dd') and to_date('82/12/09','yy/mm/dd'); 이 데이터는 rr 형식으로 저장돼있다. 따라서, yy 형식으로 조회하면 안나온다. 즉, 1981년, 1982년 데이터라는 뜻이다. SELECT ENAME,HIREDATE,SAL FROM EMP WHERE HIREDATE between to_date('81/02/20','rr/mm/dd') and to_date('82/12/09','rr/mm/dd'); SE..
[ORACLE] 부서별 차등 보너스 계산 / CASE, DECODE 활용
문제 10번 부서 급여의 0.3% , 20번부서 급여의 20%, 30번 부서 급여의 10%, 나머지 모든 부서 1%. 단, 소수점 절삭(TRUNCATE) 주의 GROUP BY는 그룹마다 결과가 1개의 행으로 나온다. 이 문제에서 사용하는 것이 아니다. 1. DECODE 활용 SELECT DEPTNO, ENAME, JOB, SAL, TRUNC(DECODE(DEPTNO, 10, SAL * 0.003, 20, SAL * 0.2, 30, SAL * 0.1, SAL * 0.01)) AS BONUS FROM EMP ORDER BY DEPTNO, BONUS DESC; 2. CASE 활용 SELECT DEPTNO, ENAME, JOB, SAL, CASE WHEN DEPTNO = 10 THEN TRUNC(SAL * 0...