반응형

데이터베이스를 DATE 값을 저장할 때 내부적으로 세기, 연, 월, 일, 시, 분, 초 와 같은 숫자형식으로 변환해 저장합니다. DATE 값은 여러가지 형식으로 출력되고 날짜 계산에도 사용되기 때문에 사용이 편리한 숫자형으로 지정합니다. 이러한 특성을 통해 DATE 값은 숫자와 산술연산이 가능합니다.
- DATE + NUMBER = DATE : 숫자만큼의 날을 날짜에 더합니다.
- DATE - NUMBER = DATE : 숫자만큼의 날을 날짜에서 뺍니다.
- DATE - DATE = NUMBER : 날짜의 차이를 숫자로 반환합니다.
- DATE + 숫자/24 = DATE : 날짜에 시간을 더합니다.
DATE(날짜형)을 다루는 날짜형 함수
| 함수명 | 기능 |
| SYSDATE | 현재 날짜와 시간을 출력합니다 |
| 함수명 | 기능 |
| EXTRACT(YEAR|MONTH|DAY FROM DATE) | 날짜 데이터에서 연|월|일 값을 숫자형으로 반환합니다. |
| 함수명 | 기능 |
| TO_NUMBER(TO_CHAR(DATE, 'YYYY')) | 날짜 데이터의 년도값을 문자형으로 변경하고 숫자형으로 최종변경합니다. |
| TO_NUMBER(TO_CHAR(DATE, 'MM')) | 날짜 데이터의 월값을 문자형으로 변경하고 숫자형으로 최종변경합니다. |
| TO_NUMBER(TO_CHAR(DATE, 'DD')) | 날짜 데이터의 일값을 문자형으로 변경하고 숫자형으로 최종변경합니다. |
| 함수명 | 기능 |
| TO_DATE(CHAR, DATE_FORMAT) | 문자열을 날짜형식으로 변환하는데 사용됩니다. |
TO_DATE 함수에서 사용되는 날짜형식(DATE_FORMAT)
- YYYY: 연도를 나타내는 네 자리 숫자입니다. 예를 들어, 2024년은 'YYYY'로 표현됩니다.
- MM: 월을 나타내는 두 자리 숫자입니다. 1월은 '01', 2월은 '02', ..., 12월은 '12'로 표현됩니다.
- DD: 일을 나타내는 두 자리 숫자입니다. 1일은 '01', 2일은 '02', ..., 31일은 '31'로 표현됩니다.
- HH24: 24시간 형식의 시간을 나타내는 두 자리 숫자입니다. 0시부터 23시까지의 시간을 나타낼 수 있습니다.
- MI: 분을 나타내는 두 자리 숫자입니다. 0분부터 59분까지의 분을 나타낼 수 있습니다.
- SS: 초를 나타내는 두 자리 숫자입니다. 0초부터 59초까지의 초를 나타낼 수 있습니다.
- AM/PM: 오전(AM) 또는 오후(PM)를 나타내는 문자입니다. 주로 12시간 형식의 시간과 함께 사용됩니다.
- TZH: 시간대의 시간 오프셋을 나타내는 숫자입니다. 시간대 차이는 시간대의 시간을 표준 시간과 비교하여 나타냅니다.
- TZN: 시간대의 이름을 나타내는 문자열
-- SYSDATE 함수를 통해 데이터베이스에서 사용하는 현재의 날짜데이터를 확인합니다.
SELECT SYSDATE FROM DUAL;
-- 날짜형 데이터에서 년|월|일 값을 숫자형으로 추출합니다.
SELECT ENAME AS 사원명, HIREDATE AS 입사일자
, EXTRACT(YEAR FROM HIREDATE) AS 입사년도
, EXTRACT(MONTH FROM HIREDATE) AS 입사월
, EXTRACT(DAY FROM HIREDATE) AS 입사일
FROM EMP;
-- 날짜형 데이터에서 년|월|일 값을 문자형으로 추출합니다.
SELECT ENAME AS 사원명, HIREDATE AS 입사일자
, TO_NUMBER (TO_CHAR(HIREDATE,'YYYY')) AS 입사년도
, TO_NUMBER (TO_CHAR(HIREDATE,'MM')) AS 입사월
, TO_NUMBER (TO_CHAR(HIREDATE,'DD')) AS 입사일
FROM EMP;
반응형