CURREUNT_TIMESTAMP CURRENT_DATE INTERVAL
#CURREUNT_TIMESTAMP로 시스템 날짜 확인
SELECT CURRENT_TIMESTAMP;
# 2020-05-03 20:00:30
날짜 데이터를 데이터베이스에 저장할 때는 CURREUNT_TIMESTAMP를 사용해서 시스템 상의 날짜를 저장할 수 있다.
임의의 날짜를 저장하기 위해서는 직접 날짜 데이터를 지정해야 한다.
날짜 서식은 국가별로 다르다.
(ex) 한국과 일본에서는 연원일을 슬래시나 하이픈으로 구분해 표기하는 경우가 많고,
미국에서는 월의 경우 숫자를 대신해 Jan, Feb 등으로 표기하며 일월연도순으로 표기한다.)
이처럼 날짜를 표기하는 방식이 다양하기 때문에 데이터베이스 제품은 날짜 데이터의 서식을 임의로 지정하고 변환할 수 있는 함수를 지원한다.
Oracle의 경우, TO_DATE함수를 이용해서 문자열 데이터를 날짜형 데이터로 변환할 수 있고, 서식도 별도로 지정할 수 있다.
Oracle> SELECT TO_DATE('2020/05/03', 'YYYY/MM/DD') FROM TABLE;
-- SELECT TO_DATE([컬럼명],[포맷형식])FROM [테이블명]
반대로 날짜형 데이터를 문자열 데이터로 변환할 때는 TO_CHAR 함수를 사용한다.
Oracle> SELECT TO_CHAR(COLUMN, 'YYYYMMDD HH24:MI:SS') FROM TABLE;
-- SELECT TO_CHAR([컬럼명]) FROM [테이블명]
-- 20200503 23:10:10
#시스템 날짜의 1일 후를 계산하기
SELECT CURRENT_DATE + INTERVAL 1 DAY;
# 2020-05-04
Oracle> '2020-05-03' - '2020-01-01';
mysql> DATEDIFF('2020-05-03', '2020-01-01');