🖥️ IT, 컴퓨터/🏁 SQL・빅쿼리

[SQL] CURDATE() 함수란?

김 홍시 2024. 11. 24.
반응형

CURDATE()란?

CURDATE()는 SQL에서 현재 날짜를 반환하는 함수입니다. 날짜만 반환하며, 시간 정보는 포함하지 않습니다.


CURDATE() 기본 구조

CURDATE()

반환 값:

  • YYYY-MM-DD 형식의 현재 날짜.
  • 데이터베이스 서버의 현재 시간대를 기준으로 날짜가 반환됩니다.

사용 예제

1. 현재 날짜 확인

SELECT CURDATE() AS 현재날짜;

현재날짜

2024-11-24

2. 현재 날짜와 다른 값 비교

예제: 오늘 기준으로 배송일이 지난 데이터 조회.

SELECT *
FROM 배송
WHERE 배송일 < CURDATE();

3. 날짜 계산

예제: 오늘로부터 7일 이내에 주문된 데이터 조회.

SELECT *
FROM 주문
WHERE 주문일 BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE();

관련 함수와 차이점

함수 설명 반환 값 형식

CURDATE() 현재 날짜만 반환 YYYY-MM-DD
CURRENT_DATE() CURDATE()와 동일 YYYY-MM-DD
NOW() 현재 날짜와 시간 반환 YYYY-MM-DD HH:MM:SS
CURRENT_TIMESTAMP() NOW()와 동일 YYYY-MM-DD HH:MM:SS

활용 사례

1. 기한 계산

예제: 현재 날짜로부터 30일 뒤가 만료일인 데이터 업데이트.

UPDATE 제품
SET 만료일 = DATE_ADD(CURDATE(), INTERVAL 30 DAY)
WHERE 제품ID = 1;

2. 날짜 그룹화

예제: 날짜별로 주문 수를 집계.

SELECT 
    주문일, 
    COUNT(*) AS 주문수
FROM 주문
GROUP BY CURDATE();

3. 연도별 데이터 필터링

예제: 올해 주문 데이터를 조회.

SELECT *
FROM 주문
WHERE YEAR(주문일) = YEAR(CURDATE());

요약

  • CURDATE()는 현재 날짜만 반환하는 간단한 함수.
  • 시간 정보가 필요 없을 때 사용하며, 주로 날짜 계산, 비교, 필터링에 활용.
  • NOW()와 차이점: 시간 정보 포함 여부.

CURDATE()는 날짜 기반의 데이터 분석과 관리에서 자주 사용되는 필수 함수입니다! 🚀

반응형

'🖥️ IT, 컴퓨터 > 🏁 SQL・빅쿼리' 카테고리의 다른 글

[SQL] NOW() 함수란?  (0) 2024.11.25
[SQL] EXTRACT 란?  (0) 2024.11.24
[SQL] DATEDIFF란?  (0) 2024.11.24
[SQL] DATE_TRUNC이란?  (0) 2024.11.24
[SQL] CTE(Common Table Expressions)란?  (0) 2024.11.24

댓글