카테고리 없음

[Oracle] Singlerow_DateTime

솧이 2022. 8. 31. 22:55

날짜함수

날짜는 마치 문자열처럼 ''으로 감싼다

SYSDATE 시스템 현재 날짜와 시간
MONTHS_BETWEEN 두 날짜 사이의 개월 수
ADD_MONTHS 주어진 날짜에 개월수 더함
NEXT_DAYS 주어진 날짜 다음에 오는 일자 표현
LAST_DAYS 해당 월의 마지막 날짜
ROUND 주어진 날짜 반올림
TRUNC 주어진 날짜 버림

 

 

 

SELECT 	
	SYSDATE "오늘"
	, SYSDATE + 1 "내일"	
	, SYSDATE - 2 "그저께"	
	, SYSDATE + 1/24 "1시간 후"	
FROM dual;

 

 

일 차이 계산

SELECT SYSDATE "오늘", SYSDATE - TO_DATE('2022-07-26')
FROM dual;

 

개월수 차이 : MONTHS_BETWEEN()

SELECT 
	MONTHS_BETWEEN('2012-03-01', '2012-01-01') "양수" -- 왼쪽이 큰 값이면 양수가 나온다
	, MONTHS_BETWEEN('2012-01-01', '2012-03-01') "음수" -- 오른쪽이 큰 값이면 음수가 나온다
	, MONTHS_BETWEEN('2012-02-29', '2012-02-01') "2/29-2/01" -- 28일차가 계산이 된다
	, MONTHS_BETWEEN('2012-04-30', '2012-04-01') "4/30-4/01" -- 29일차가 계산이 된다
FROM dual;

 

[실습] #4501

SELECT 
	name "이름"
	, sysdate "오늘"
	, to_char(hiredate, 'yyyy-mm-dd') "입사일"
	, to_char(sysdate, 'yyyy') - to_char(hiredate, 'yyyy') "근속연수"
	, round(MONTHS_BETWEEN(sysdate, hiredate), 1) "근속개월"
	, round((sysdate - hiredate), 1) "근속일"
FROM t_professor