문제

이것은 어제 여기에 도움을받은 질문에 대한 후속 조치이지만 약간 다른 문제입니다 - DB 레코드의 MySQL 타임 스탬프가 과거 7 일 (시간 및초 etc).하지만 Where 절에서 "column"import_date '를 얻는 중 누구도 문제를 볼 수 있습니까?

이것은 날짜 비교입니다. Timestamp, E.G 2010-07-13 11:04:27

WHERE date_format( `import_date`, "%Y-%m-%d" ) =
    date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" ) 
.

도움이 되었습니까?

해결책

모호한 오류와 관련하여 import_date 열에 쿼리에 2 개의 테이블이 있어야합니다.

를 사용해야합니다
WHERE date_format( `YourTableName`.`import_date`, "%Y-%m-%d" ) =
    date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" ) 
.

위의 쿼리가 비효율적이지 않아도 sargable

나는 MySQL이 무엇을하고 있는지 정확히 알기 위해 충분히 익숙하지 않다. 그러나 확실히 당신은 그것을

로 재 작성하는 것이 좋을 것이다.
WHERE `YourTableName`.`import_date` = x
.

또는

WHERE `YourTableName`.`import_date` between x and y
.

적절한

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top