[전부 모음] Mysql 날짜 관련된 함수
Data Analyst

빅데이터 관련 자료/[SQL] Basic

[전부 모음] Mysql 날짜 관련된 함수

carpe08 2024. 3. 2. 17:03
320x100
320x100
  1. NOW() / CURRENT_TIMESTAMP() / SYSDATE():
    • 현재 시간을 반환합니다. 이 함수들은 동일한 값을 반환합니다.
  2. CURDATE() / CURRENT_DATE():
    • 현재 날짜를 반환합니다. 이 또한 두 함수는 동일한 값을 반환합니다.
  3. CURTIME() / CURRENT_TIME():
    • 현재 시간을 반환합니다. 이 또한 두 함수는 동일한 값을 반환합니다.
  4. DATE_FORMAT(date, format):
    • 날짜를 원하는 형식으로 포맷합니다. 첫 번째 매개변수로 날짜를, 두 번째 매개변수로 포맷을 지정합니다.
  5. DATEDIFF(date1, date2):
    • 두 날짜 간의 일 수 차이를 계산합니다. date1에서 date2를 빼서 일 수를 반환합니다.
  6. DATE_ADD(date, INTERVAL expr type) / DATE_SUB(date, INTERVAL expr type):
    • 날짜에 지정된 시간 간격을 더하거나 뺍니다. INTERVAL 키워드를 사용하여 날짜에 시간 간격을 추가하거나 뺍니다.
  7. DAYNAME(date) / MONTHNAME(date) / DAYOFWEEK(date):
    • 날짜에서 요일, 월 이름, 요일 번호를 반환합니다.
  8. EXTRACT(unit FROM date):
    • 날짜에서 특정 시간 단위의 값을 추출합니다. 예를 들어, 연도를 추출하거나 월을 추출할 수 있습니다.
  9. STR_TO_DATE(date, format):
    • 문자열을 날짜로 변환합니다. 이 함수는 문자열을 날짜 형식으로 파싱하여 날짜로 변환합니다.
  10. TIMESTAMPDIFF(unit, start_datetime, end_datetime):
    • 두 날짜 간의 시간 차이를 반환합니다. 예를 들어, 두 날짜 간의 시간 차이를 시간, 분, 초 등의 단위로 계산할 수 있습니다.
  11. DATE() / TIME():
    • 날짜 및 시간에서 각각 날짜와 시간 부분을 추출합니다.

 

실제 예시 코드

-- 현재 시간을 반환합니다.
SELECT NOW() AS current_datetime, CURRENT_TIMESTAMP() AS current_timestamp, SYSDATE() AS sysdate;

-- 현재 날짜를 반환합니다.
SELECT CURDATE() AS current_date, CURRENT_DATE() AS current_date;

-- 현재 시간을 반환합니다.
SELECT CURTIME() AS current_time, CURRENT_TIME() AS current_time;

-- 날짜를 지정된 형식으로 포맷합니다.
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS formatted_datetime;

-- 두 날짜 간의 일 수 차이를 반환합니다.
SELECT DATEDIFF(NOW(), '2022-02-01') AS days_difference, DATEDIFF(NOW(), '2022-02-01') AS days_difference_result;

-- 날짜에 지정된 시간 간격을 더하거나 뺍니다.
SELECT DATE_ADD(NOW(), INTERVAL 7 DAY) AS future_date, DATE_SUB(NOW(), INTERVAL 1 MONTH) AS past_date;

-- 날짜에서 요일, 월 이름 및 요일 번호를 반환합니다.
SELECT DAYNAME(NOW()) AS day_name, MONTHNAME(NOW()) AS month_name, DAYOFWEEK(NOW()) AS day_of_week;

-- 날짜에서 주어진 시간 단위의 값을 추출합니다.
SELECT EXTRACT(YEAR FROM NOW()) AS extracted_year;

-- 문자열을 날짜로 변환합니다.
SELECT STR_TO_DATE('2022-02-28', '%Y-%m-%d') AS converted_date;

-- 두 날짜 간의 시간 차이를 반환합니다.
SELECT TIMESTAMPDIFF(HOUR, '2022-02-20 12:00:00', NOW()) AS hours_difference, TIMESTAMPDIFF(HOUR, '2022-02-20 12:00:00', NOW()) AS hours_difference_result;

-- 날짜 및 시간에서 각각 날짜와 시간 부분을 추출합니다.
SELECT DATE(NOW()) AS date_part, TIME(NOW()) AS time_part;
320x100
320x100