본문 바로가기
MySql

MySQL은 datetime 열이 주말 기간 내에 있는지 확인합니다.

by 베이스 공부 2021. 1. 31.
반응형

데이터베이스에 datetime 열이있는 테이블이 있습니다. 레코드가 주말 기간 내에 있는지 확인하기 위해 쿼리를 작성할 수있는 방법이 있습니까?

모든 레코드를 표시하고 (금요일 1730 시간 이후) 또는 (일요일 2359 시간 이전) 기준을 충족하는 경우 주말을 표시하기 위해 각 결과 행에 추가 열을 갖고 싶습니다.

아래는 현재 내가 가지고 있지만 뭔가 잘못된 것 같습니다. :( 어떤 도움이라도 대단히 감사하겠습니다. :)

SELECT recordTime, DATE_FORMAT(recordTime, "%W %w %T"), (( (DATE_FORMAT(recordTime, "%T") > '17:30:00' AND DAYOFWEEK(recordTime)=6)
    AND (DATE_FORMAT(recordTime, "%T") < '23:59:59' AND DAYOFWEEK(recordTime)=7) )
    OR (DATE_FORMAT(recordTime, "%T") < '23:59:59' AND DAYOFWEEK(recordTime)=0)) AS Weekend
FROM `waitrecord`

 

해결 방법

 

당신의 논리가 잘못되었습니다. 요일은 주중 6과 주중 7이 동시에 될 수 없습니다.

조건은

DAYOFWEEK(recordTime) = 7
or DAYOFWEEK(recordTime) = 1
or (DATE_FORMAT(recordTime, "%T") > '17:30:00' AND DAYOFWEEK(recordTime) = 6)


 

참조 페이지 https://stackoverflow.com/questions/12142372

 

 

반응형

댓글