1) sysdate : 시스템의 현재 날짜와 시간 리턴. 예약어
select ayadate from dual;
2) months_between : 두날짜 사이의 개월수 리턴. 소숫점 표현됨.
큰날짜 먼저 기입.(큰날짜 : 최근날짜 를 의미)
months_between(날짜1,날짜2)
// 날짜1-날짜2 차이의 개월 수
예시 : 2022.01.01부터 현재까지의 개월 수
select months_between(sysdate,'22/01/01') from dual;
문제 :
1. 학생의 이름,생일(birthday),개월 수,나이를 출력.
이때 개월 : 현재날짜에서 생일까지의 개월 수를 반올림하여 정수출력
나이 : 개월/12 하여 버림하여 정수로 출력.
select name,birthday,round(months_between(sysdate,bitrhday)) 개월수,
trunc(months_between(sysdate,birthday)/12) 나이 from student;
3) add_months : 개월 수를 더한 후의 날짜 리턴.
예시 : 현재일 기준 3개월 후, 3개월 전의 날짜 출력하기
select sysdate,add_months(sysdate,3) "3개월 후",
add_months(sysdate,-3) "3개월 전" from dual;
cf)
예시 : 현재일 기준 3일 후, 3일 전의 날짜 출력하기
select sysdate, sysdate+3 "3일 후", sysdate-3 "3일 전" from dual;
날짜1-날짜2 : 두 날짜 사이의 일자.
예시 : emp 테이블에서 사원이름,입사일,근무일수를 구하시오.
select ename,hiredate,sysdate-hiredate from emp;
round,trunc 함수 가능.
예시 :
select round(sysdate), trunc(sysdate) from dual;
4) next_day : 날짜 다음의 지정한 요일에 해당하는 날짜 리턴.
일 : 1,월 : 2,화 : 3,….토 : 7 ← 나라마다 달라서 숫자 기입하여야 함
예시 :
select sysdate, next_day(sysdate,'토'),next_day(sysdate,7) from dual;
select sysdate, next_day(sysdate,'월'), next_day(sysdate,2) from dual;
5) last_day : 해당월의 마지막 날짜 리턴.
예시 :
select sysdate,last_day(sysdate) from dual;
문제 :
1. 사원테이블에서 사원의 이름,직업,입사일,근무일수 출력하기.
은무일수는 버림하여 정수 출력.
select ename,job,hiredate,trunc(sysdate-hiredate) 근무일수 from emp;
문제 :
2. 사원의 테이블에서 입사 후 3개월을 수습기간이라고 가정할 때,
사원이름,직업,입사일,수습 종료일 출력하기.
select ename,job,hiredate,add_months(hiredate,3) 수습종료일 from emp;
select ename,job,hiredate,hiredate+90 수습종료일 from emp;
문제 :
3. 사원테이블의 이름,입사일,휴가보상일 출력하기.
휴사보상일 : 입사월의 마지막 일자
select ename,hiredate,last_day(hiredate) from emp;
'수업(국비지원) > Oracle' 카테고리의 다른 글
| [Oracle] SQL 단일행 함수 - 일반 함수 nvl(), decode(), case 구문 (0) | 2023.04.14 |
|---|---|
| [Oracle] SQL 단일행 함수 - 형 변환 함수 to_char(), to_number, to_date (0) | 2023.04.14 |
| [Oracle] SQL 단일행 함수 - 숫자 함수 round, trunc, mod, ceil, floor, power, abs, sign (0) | 2023.04.14 |
| [Oracle] SQL 단일행 함수 - 문자 함수(문자열 치환 함수) replace (0) | 2023.04.14 |
| [Oracle] SQL 단일행 함수 - 문자 함수(문자 추가,제거 함수) lpad, rpad, ltrim, rtrim, trim (0) | 2023.04.14 |