DATE 함수


DATE 함수는 문자열 또는 다른 형식의 날짜 값을 표준 날짜 형식(YYY-MM-DD)으로 변환할 때 사용

DATE(날짜  또는 문자열)


예시

SELECT DATE('2024-10-21 14:35:00') AS formatted_date;

select-date

위 쿼리는 시간 정보가 포함된 날짜 문자열에서 날짜 부분만 추출하여 표준 형식으로 변환
DATE 함수는 시간 정보를 잘라내고 날짜를 반환


SELECT name, DATE(enrollment_year)
FROM students;

이런식으로 날짜 부분만 추출할 때 이용할 수 있습니다.



DATE_FORMAT 함수


DATE_FORMAT 함수는 날짜 형식을 사용자가 원하는 형식으로 변환할 수 있게 해주는 함수

DATE_FORMAT(날짜 , 형식)

%Y: 4자리 연도 (예: 2024)
%m: 2자리 월 (예: 10)
%d: 2자리 일 (예: 21)
%W: 요일 (예: Monday)
%H: 2자리 시간 (24시간 형식)
%i: 2자리 분
%s: 2자리 초


예시

SELECT DATE_FORMAT('2024-10-21', '%M %d, %Y') AS formatted_date;

date-format

위 쿼리는 DATE_FORMAT을 사용해 날짜를 보기 좋게 변환합니다.
%M은 월의 영어 이름, %d는 2자리 일(day), %Y는 4자리 연도를 표시합니다.


또 다른 예시로 학생 테이블의 등록 연도를 다른 형식으로 표시할 수 있습니다.

SELECT name, DATE_FORMAT(enrollment_year, '%Y-%m-%d') AS formatted_enrollment_year
FROM students;

결과:

name        formatted_enrollment_year
-------------------------------------
John Doe    2022-01-01
Jane Smith  2021-01-01
...



DATEDIFF 함수


**DATEDIFF 함수는 두 날짜간의 차이를 일(day) 단위로 계산합니다.```

DATEDIFF(날짜1, 날짜2)


예시

SELECT DATEDIFF('2024-10-21', '2024-10-01') AS date_difference;

datediff

2024-10-212024-10-01의 날짜 차이를 일 단위로 계산해 20일을 반환합니다.


학생 테이블에서 등록일과 현재 날짜 간의 차이를 계산할 때도 활용할 수 있습니다.

SELECT name, DATEDIFF(CURDATE(), enrollment_year) AS days_enrolled
FROM students;

결과:

name        days_enrolled
-------------------------
John Doe    660
Jane Smith  1025
...

이 쿼리는 CURDATE()(현재날짜 반환) 함수로 현재 날짜에서 등록일 차이를 계산해 보여줍니다.



ADDDATE 와 SUBDATE


  • ADDDATE: 특정 날짜에 일(day)을 더할 때 사용.
  • SUBDATE: 특정 날짜에서 일(day)을 뺄 때 사용.
ADDDATE(날짜, )
SUBDATE(날짜, )


ADDDATE 예시

SELECT ADDDATE('2024-10-21', 10) AS new_date;

결과:

new_date
----------
2024-10-31


SUBDATE 예시

SELECT SUBDATE('2024-10-21', 5) AS new_date;

결과:

new_date
----------
2024-10-16



NOW와 CURDATE


  • NOW(): 현재 날짜와 시간을 반환.
  • CURDATE(): 현재 날짜만 반환.


예시

SELECT NOW() AS NOW_FUNC, CURDATE() AS CUR_FUND;

now-curdate

NOW() 함수는 현재 날짜와 시간을, CURDATE() 함수는 날짜만 나타내는 것을 알 수 있습니다.

태그:

카테고리:

업데이트: