3 주 전의 모든 항목을 검색하는 select 쿼리가 있습니다.Mysql 선택 및 날짜> = 현재 날짜 - 3 주
where date> Expr (CURDATE() - 3 WEEKS)
과 같은 표현식이 있는지 또는 먼저 PHP 스크립트의 차이점을 계산해야하는지 알고 싶습니다.
내 날짜의 형식은 그런 timestamp
입니다 : 감사합니다 2010-06-21 16:59:59
,
3 주 전의 모든 항목을 검색하는 select 쿼리가 있습니다.Mysql 선택 및 날짜> = 현재 날짜 - 3 주
where date> Expr (CURDATE() - 3 WEEKS)
과 같은 표현식이 있는지 또는 먼저 PHP 스크립트의 차이점을 계산해야하는지 알고 싶습니다.
내 날짜의 형식은 그런 timestamp
입니다 : 감사합니다 2010-06-21 16:59:59
,
당신은 지금처럼 DATEDIFF()
기능을 사용할 수 있습니다 : WHERE DATEDIFF(CURDATE(), date) = 21
. 이 쿼리 캐시에서 효과를
을 할 수로 사용이 타임 스탬프의 실제 입력이 더
,
: - 비 결정적 함수를 포함 http://www.dangrossman.info/2007/04/26/mysql-tuning-disable-query-cache-on-frequently-updated-databases/
쿼리가 캐시되지 않습니다. 여기에는 CURDATE(), RAND() 또는 출력이 항상 동일하지 않은 다른 함수가 포함됩니다. 문서에서
: - http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html
좋은 설명, 덕분에 –
당신이 코드
where date>DATE_SUB(curdate(),INTERVAL 3 WEEK);
위의 대답보다 더 복잡하지만 그것은 누군가를 도울 수 있습니다. 고맙습니다. =) –
@ Raphaël 이 답변은 DATE_SUB()를 한 번만 계산하고 Anthony의 대답은 모든 행에 대해 계산합니다. 이 답변은 나에게 더 나은 선택 인 것처럼 보인다. 공연의 차이가 어떤 경우에는 의미가있을 수 있기 때문이다. – Balmipour
쉬운의 다음 줄을 사용할 수 있습니다, 내가 좋아하는. 감사. –