SQL

[SQL] 오라클(oracle), MySQL 날짜 년월 추출, 날짜 가공

지니지니하지니 2024. 2. 1. 17:25

Oracle

Oracle 에서 날짜 데이터의 년월을 추출하는 대표적인 방법으로는 EXTRACT 함수와 TO_CHAR 함수가 있음

(일,시,분,초 도 추출 가능)

 

1. EXTRACT 

SELECT 
  EXTRACT(YEAR FROM my_date_column) AS year,
  EXTRACT(MONTH FROM my_date_column) AS month, 
  EXTRACT(DAY FROM my_date_column) AS day,
  EXTRACT(HOUR FROM my_date_column) AS hour,
  EXTRACT(MINUTE FROM my_date_column) AS minute,
  EXTRACT(SECOND FROM my_date_column) AS second
FROM my_table;

 

 

2. TO_CHAR

SELECT TO_CHAR(my_date_column, 'YYYY') AS year,
       TO_CHAR(my_date_column, 'MM') AS month
FROM my_table;

 

두 함수의 차이는?

'EXTRACT' 함수는 결과값이 숫자 형태로 반환되고

'TO_CHAR' 함수는 결과값이 지정된 형식의 문자열 형태로 반환된다. 

따라서 사용 목적에 따라 선택하면 됨

 


MySQL

-- 년, 월, 일 추출
SELECT 
  YEAR(my_date_column) AS year,
  MONTH(my_date_column) AS month,
  DAY(my_date_column) AS day
FROM my_table;

-- 시, 분, 초 추출
SELECT 
  HOUR(my_date_column) AS hour,
  MINUTE(my_date_column) AS minute,
  SECOND(my_date_column) AS second
FROM my_table;

 

mySQL은 위와 같이 간단하게 추출 가능함

 

끄읏!