mysql 격주 단위로 요일 가져오기

mysql 격주 단위로 요일 가져오기

QA

mysql 격주 단위로 요일 가져오기

답변 3

본문

제목이 곧 내용입니다.

 

예를 들어

9월의 월요일을 구하는데 격주 단위로 구하고 싶다 하면

9/3, 9/17이 되고

그 다음 10월을 구할 때 월요일은 10/1, 10/15, 10/29

 

그 다음 11월을 구할 때 월요일은 11/12, 11/26 을 구하는

그런 쿼리는 어떻게 짜야 할까요?

이 질문에 댓글 쓰기 :

답변 3

해당달의 첫날 몇요일 몇일인지 구하고

해당달의 마지막날이 몇요일 몇일인지 구하고

첫날구한 날이 몇요일인지 구했으니 월요일에 대한 날짜를 구해주고

이렇게 구한 달의 첫번째 월요일에서 14씩을 더하면 격주가 구해지고

14를 더했을때 달의 마지막 날보다 커졌는지 계산하고

커졌으면 다시 처음부터 반복

특정월의 첫번째날의 요일을 가져오는 함수

1. date에는 특정년월일을 넣습니다.

SELECT DAYOFWEEK(date);

이함수의 리턴 1은 일요일 2는월요일.....

자세한건 라이브러리 참조

 

2. 해당일자가 월요일이 아니면.. 

   1이면 +1일때 월요일 즉, 시작일 +1 일은 월요일 그다음 월요일은 +14일

   2이면 0일때 월요일 즉, 시작일 월요일, 그다음은 +14일

   2보다크면 2가 구현될 수식을 만들어 날짜를 추가한다.

   2주뒤는 위의 방식과 마찬가지

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 29
© SIRSOFT
현재 페이지 제일 처음으로