본문 바로가기

[내일배움캠프]스파르타코딩클럽 AI 웹개발/Today I Learned

[내일배움캠프 30일차 TIL] SQL - 날짜 및 시간

 

 

 

 

아래 내용은 MYSQL을 기준으로 작성되었습니다


 1. Date("날짜")

문자형 형식의 데이터를 날짜 형식으로 변환해준다

날짜의 년, 월, 일 정보만 알려주고 시간은 표시하지 않는다

 

SELECT DATE("2024-8-2 15:45:20")

 

실행결과

 

 

 

 

 

 

2.  DAYOFWEEK("날짜"), WEEKDAY("날짜")

날짜를 몇 번째 요일인지(무슨 요일인지) 숫자로 나타낸다

 

- DAYOFWEEK

(1 = 일요일, 2 = 월요일, 3 = 화요일, 4 = 수요일, 5 = 목요일, 6 = 금요일, 7 = 토요일)

- WEEKDAY

(0 = 월요일, 1 = 화요일, 2 = 수요일, 3 = 목요일, 4 = 금요일, 5 = 토요일, 6 = 일요일)

 

SELECT DAYOFWEEK("2024-08-02 15:45:20"), WEEKDAY("2024-08-02 15:45:20")

 

 

실행결과

 

 

 

 

 

 

3. DAYOFMONTH("날짜"), DAYOFYEAR("날짜")

- DAYOFMONTH

해당 달의 몇 번째 날인지를 알려준다

 

- DAYOFYEAR

해당 년도의 몇 번째 날인지를 알려준다

 

 

SELECT DAYOFMONTH("2024-08-02 15:45:20"), DAYOFYEAR("2024-08-02 15:45:20")

 

 

 

실행결과

 

 

 

 

 

4. MONTHNAME("날짜"), DAYNAME("날짜")

- MONTHNAME

날짜의 영어식 월 이름을 반환한다

 

- DAYNAME

날짜의 영어식 요일을 반환한다

 

 

SELECT MONTHNAME("2024-08-02 15:45:20"), DAYNAME("2024-08-02 15:45:20")

 

 

실행결과

 

 

 

 

 

5. YEAR("날짜"), MONTH("날짜"), DAY("날짜")

해당하는 날자의 년, 월, 일을 각각 반환한다

반환된 값은 숫자형식이다

 

SELECT YEAR("2024-08-02 15:45:20"), MONTH("2024-08-02 15:45:20"), DAY("2024-08-02 15:45:20")

 

 

실행결과

 

 

 

6. WEEK("날짜", 시작요일)

해당하는 날짜의 주가 몇 번째 주인지를 반환한다

만약 입력한 인자가 2개인 경우 시작하는 요일을 정해주는 것이다 

0이면 시작하는 요일이 일요일,

1이면 시작하는 요일이 월요일이다

아무것도 입력하지 않으면 일요일을 시작하는 요일로 한다

 

 

SELECT WEEK("2024-08-02 15:45:20"), WEEK("2024-08-02 15:45:20", 0), WEEK("2024-08-02 15:45:20", 1)

 

 

 

실행결과

 

 

 

 

 

 

7. hour("시간"), minute("시간"), second("시간")

시간 정보에서 시간, 분, 초를 반환해준다

 

 

SELECT HOUR("15:45:20"), MINUTE("15:45:20"), SECOND("15:45:20")

 

 

 

실행결과

 

 

날짜와 함께 입력해도 동일한 결과가 나온다

 

 

 

 

 

 

 

8. DATE_FORMAT("날짜", "형식")

날짜를 지정한 형식으로 반환한다

 

 

 

 

 

 

 

SELECT DATE_FORMAT("2024-08-02 15:45:20", "%Y/%m/%d %h:%i:%s")

 

 

 

실행결과

 

 

 


문제를 풀다가 날짜와 시간을 처리하는 방법을 정리할 필요가 있는 것 같아 정리했다

그런데 생각보다 많은 함수들이 있었고, 날짜의 더하기 빼기 등의 연산을 하는 함수로 따로 존재했다

내용이 너무 길어져 날짜와 시간을 추출하는 함수만 담았지만 훨씬 더 다양한 함수들에 대해 공부할 필요가 있는 것 같다!