SQL 4

SQL 기타함수를 이용한 실습문제

-- 1. emp 테이블에서 각 직원이 입사한 첫 달에 근무한 근무일수 출력 -- 단, 토,일,공휴일 모두 근무했다 가정 select to_date(hiredate) from emp; select last_day(hiredate) from emp; select hiredate, last_day(hiredate) - hiredate +1 as 근무일수 from emp; -- 2. student 테이블에서 1976년 1월에 태어난 학생의 이름, 학년, 생년월일 출력 -- 내 풀이 select name, grade, birthday, to_char(birthday) from student; select name, grade, birthday from student where to_char(birthday)>=..

SQL 기타함수(decode, nvl/nvl2, case문)

[기타함수] 1. decode : oracle 문법, 조건문(조건별 치환 및 연산 수행) 2. nvl / nvl2 : null 치환함수 3. case문 : if문 대신 사용(PL/SQL 문법에는 if문 있음) 1. decode else 리턴 생략 시 NULL 리턴 동등비교 외 조건 전달 불가 decode(대상, 값1, 리턴1, 값2, 리턴2, 값3, 리턴3, ...., else 리턴) --부서명 출력(10번은 인사부, 20번은 총무부, 30번 재무부) select deptno, decode(deptno, 10, '인사부', 20, '총무부', 30, '재무부') as 부서명 from emp; -- [연습문제] -- emp 테이블에서 각 직원의 이름, 부서번호, 급여, 인상된 급여 출력 -- 단, 인상된 ..

SQL 변환함수(to_char, to_number, to_date)

변환함수 : 데이터 타입 (날짜, 문자, 숫자) 을 변환 목적 사용 1. to_char : 문자가 아닌 값을 문자로 변경 2. to_number : 숫자가 아닌 값을 숫자로 변경(숫자로 변경 가능한 경우) 3. to_date : 날짜가 아닌 값을 날짜로 변경 변환함수 : 데이터 타입 (날짜, 문자, 숫자) 을 변환 목적 사용 --1. to_char : 문자가 아닌 값을 문자로 변경 -- to_char(대상 [, 포맷]) select to_char(1111) -- 숫자를 문자로 from dual; select to_char(sysdate) -- 날짜를 문자로 from dual; --1) 숫자를 문자로 변환 select to_char(1111, '9,999'), --천단위 구분기호(9: 한자리의 숫자, 0:..

SQL 날짜함수

날짜함수 특성 : 1. 날짜 타입은 각 시스템, 조회 tool마다 날짜 리턴 포맷이 다를 수 있음 2. 원본의 날짜 타입을 알아야 where 절 조건 전달이 쉽다 3. 원본의 날짜 타입을 알지 못하는 경우 날짜타입 맞추고 비교하는 것이 좋다 날짜함수의 종류 : 1. sysdate 2. months_between 3. add_months 4. next_day 5. last_day 6. round/ trunc 7. to_char ex) 현 oracle의 날짜는 87/01/12 형식으로 저장, orange에서 날짜는 기본적으로(바꿀 수 있음) yyyy/mm/dd hh24:mi:ss 형식으로 리턴되게 되어 있음 => orange에서 출력되는 것을 보고 substr(hiredate, 1, 4) => 입사년도 대신..