sub_title
 MySQL
제   목 MySQL 이번주의 요일별 날짜를 가져오기
작성자 높이뜬새 등록일 2016-01-20 01:25:09 조회수 10,972
MySQL 이번주의 요일별 날짜를 가져오기

MySQL 에서 지원해주는 날짜 함수 세가지를 조합해서 이번주의 월화수목금토일에 해당하는 날짜가 몇일인지 알아보겠습니다.

1. WEEKDAY 함수는 월요일은 0 부터해서 일요일은 6 을 반환해 주는 함수입니다.
2. ADDDATE(date, INTERVAL EXPR) : ADDDATE 함수는 지정한 날짜(date)에 INTERVAL EXPR를 더한 날짜를 반환합니다.
3. CURDATE() : 현재 날짜를 반환하는 함수입니다. 현재 날짜와시간까지 반환하는 SYSDATE() 함수를 사용하셔도 됩니다. 

오늘의 요일 구하기
SELECT WEEKDAY( CURDATE());

실행화면


실행결과 2가 반환되었으니 오늘은 수요일인가 봅니다.

이번주의 월요일 구해보기
SELECT ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) ) AS MONDAY;
이해 되시나요? 오늘의 날짜가 2016-01-20일로 수요일이라면 WEEKDAY(CURDATE())로
반환된 값 2 를 빼주시면 월요일이 구해집니다.

실행화면 


정확히 이번주의 월요일의 날짜가 나왔습니다.


그럼 이번주의 요일별 날짜를 모두 구해보겠습니다. 아쉽게도 아래와 같이 약간의 노가다가 필요합니다. 

SELECT ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 0 ) AS MONDAY,
          ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 1 ) AS TUESDAY,
          ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 2 ) AS WEDNESDAY,
          ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 3 ) AS THURSDAY,
          ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 4 ) AS FRIDAY,
          ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 5 ) AS SATURDAY,
          ADDDATE( CURDATE(), - WEEKDAY(CURDATE()) + 6 ) AS SUNDAY;


위의 코드를 MySQL내에서 모두 입력하기에는 피곤한 일이니 sql 파일로 만들어서 MySQL 내에서 실행해 보겠습니다.

아래는 실행화면입니다. 정확히 요일별 날짜가 구해졌습니다.


위의 예제는 다음과 같은 버전에서 실행하였습니다.



From : 높이뜬새(www.webmadang.net)

 
0
    
 
0
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
49  MariaDB 10의 NoSQL 기능과 MySQL의 Json 관련 UDF   member 달콤한수 2 / 0 6922 2017-11-29
48  MySQL은 공짜가 아니다   member 진짜고구 3 / 1 5663 2017-08-24
47  MySql 문자열 함수   member 진짜고구 0 / 0 3941 2017-08-24
46  MySQL IN subquery 성능. IN sub query는 가급적 사용을 피합시다!   member 진짜고구 0 / 0 5854 2017-08-21
45  [MYSQL] 가져온 값을 조건에 따라 값 바꾸기(case - when - end 문)    member 진짜고구 0 / 0 3606 2017-08-21
44  MySQL 가져온 데이터 삽입하기(SELECT 하면서 INSERT하기)   member 높이뜬새 1 / 1 20488 2017-08-19
43  터미널에서 접속해 MySQL 테이블 내용을 볼려고 할때 한글이 깨진다면!!   member 높이뜬새 0 / 0 2110 2017-04-04
42  MySQL 문자열 길이 구하기   member 높이뜬새 2 / 0 15781 2017-04-04
41  MySQL 사용자 권한설정 (grant 명령어) 이미지   member 높이뜬새 1 / 0 11131 2016-10-23
40  MySQL 컬럼중 가장 큰값 가져오기 이미지   member 높이뜬새 1 / 0 5772 2016-08-20
39  MySQL 오늘기준으로 최근 한달 동안 데이터 가져오기   member 높이뜬새 2 / 2 15735 2016-08-09
38  MySQL 원격서버로 덤프파일 복원하기   member 높이뜬새 1 / 0 5770 2016-04-27
37  MySQL에서 특정 문자열만 변경하기 이미지   member 높이뜬새 0 / 0 10720 2016-01-23
36  MySQL 이번주의 요일별 날짜를 가져오기 이미지   member 높이뜬새 0 / 0 10972 2016-01-20
35  MySQL 요일 구하기 이미지   member 높이뜬새 3 / 0 22249 2016-01-18
34  MySQL 문자형 컬럼에 숫자가 포함된 데이터 가져오기   member 높이뜬새 1 / 0 6419 2015-06-29
33  MySQL 바이너리 검색시 인덱스를 타게하기   member 높이뜬새 10 / 0 6787 2015-06-29
32  MySQL 컬럼의 중복 레코드 수를 구하기   member 높이뜬새 2 / 0 2982 2015-06-29
31  MySQL 자동증가, auto increment 값 초기화 하기   member 높이뜬새 3 / 0 6205 2015-06-29
30  MySQL 테이블 복사하기 이미지   admin 웹마당넷 4 / 0 9267 2015-06-28
29  MySQL 필드의 결합   admin 웹마당넷 1 / 0 3752 2015-06-26
28  MySQL select 출력 값을 text파일로 만들기 이미지   admin 웹마당넷 3 / 0 6145 2015-06-26
27  MySQL 에서 IF문 사용하기   member 높이뜬새 23 / 3 149910 2010-03-08
26  MySQL 날짜 차이 구하기   member 높이뜬새 6 / 1 23029 2010-01-25
25  MySQL 특정 테이블만 백업하기   member 높이뜬새 11 / 0 49958 2010-01-06
write
[2] button