티스토리 뷰

1. SYSDATE 날짜 연산

select sysdate from dual;                 -- 결과 : 20/05/04
select sysdate + 10 from dual         -- 결과 : 20/05/14
select sysdate - 10 from dual;           -- 결과 : 20/04/24
select sysdate + 8/24 from dual;        -- 결과 : 20/05/05  (현재 시간이 저녁 6시라면 8시간 후는 다음날이므로)

 sysdate 는 현재의 데이터베이스 서버 날짜 및 시간을 반환하는 날짜 함수이다.


2. 근속일수 구하기

select last_name 이름, hire_date 입사일, trunc ( sysdate - hire_date ) + 1 ) 근속일수
from employees; 

 시간까지 계산되기 때문에 trunc 함수를 사용하지 않으면 근속일수가 소수로 반환된다.


3. 근속월수 구하기

select last_name 이름, hire_date 입사일trunc ( months_between ( sysdate , hire_date ) ) 근속월수
from employees; 

 시간까지 계산되기 때문에 trunc 함수를 사용하지 않으면 근속월수가 소수로 반환된다.

※ months_between 함수는 두 날짜 간의 월 수를 반환한다.


4. 근속연수 구하기

select last_name 이름, hire_date 입사일trunc ( ( sysdate - hire_date ) + 1 ) / 365 ) 근속연수
from employees; 

 시간까지 계산되기 때문에 trunc 함수를 사용하지 않으면 근속연수가 소수로 반환된다.


5. 다른 방법으로 근속일수 표현하기

select last_name 이름, hire_date 입사일
trunc ( ( months_between ( sysdate, hire_date ) ) / 12 ) "몇 년"
trunc ( mod( months_between( sysdate, hire_date ), 12 ) ) "몇 월"
trunc ( sysdate - add_months ( hire_date, months_between ( sysdate, hire_date ) ) ) + 1 며칠
from employees; 

 해당 사원이 몇 년 몇 월 며칠째 근무 중인지를 표현하였다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함