본문 바로가기
DB/SQL 활용

SQL 활용 - DATE(날짜형)을 다루는 날짜형 함수 정리(SYSDATE, EXTRACT, TO_DATE)

by 참외롭다 2024. 2. 8.
반응형

SQL 활용 - DATE(날짜형)을 다루는 날짜형 함수 정리(SYSDATE, EXTRACT, TO_DATE)

 

 

데이터베이스를 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)

 

  1. YYYY: 연도를 나타내는 네 자리 숫자입니다. 예를 들어, 2024년은 'YYYY'로 표현됩니다.
  2. MM: 월을 나타내는 두 자리 숫자입니다. 1월은 '01', 2월은 '02', ..., 12월은 '12'로 표현됩니다.
  3. DD: 일을 나타내는 두 자리 숫자입니다. 1일은 '01', 2일은 '02', ..., 31일은 '31'로 표현됩니다.
  4. HH24: 24시간 형식의 시간을 나타내는 두 자리 숫자입니다. 0시부터 23시까지의 시간을 나타낼 수 있습니다.
  5. MI: 분을 나타내는 두 자리 숫자입니다. 0분부터 59분까지의 분을 나타낼 수 있습니다.
  6. SS: 초를 나타내는 두 자리 숫자입니다. 0초부터 59초까지의 초를 나타낼 수 있습니다.
  7. AM/PM: 오전(AM) 또는 오후(PM)를 나타내는 문자입니다. 주로 12시간 형식의 시간과 함께 사용됩니다.
  8. TZH: 시간대의 시간 오프셋을 나타내는 숫자입니다. 시간대 차이는 시간대의 시간을 표준 시간과 비교하여 나타냅니다.
  9. 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;​

 

 

 

 

반응형