2013-10-10 4 views
1

date 필드를 가진 CakePHP 응용 프로그램의 데이터베이스에 테이블이 있습니다. 해당 필드의 데이터 유형은 DATETIME입니다. 따라서 테이블에 다음과 같이 표시됩니다.mysql datetime cakephp에서 년 또는 월별 필터.

2013-08-10 13:34:45 

년 또는 월별로 필터링하려면 find() 쿼리에 조건을 추가하고 싶습니다. 연도별로 필터링하려면 LIKE 조건을 사용하여 다음과 같은 작업을 수행 할 수 있습니다.

$condition = array(
    'MyModel.date LIKE' => '%2013%' 
); 

그러나 몇 달까지 필터링 할 수 있습니까? 내가 LIKE '% 11 %'를 할 경우

2013-12-11 11:11:11 

, 내 결과가 잘못 될 것 이전 날짜의 월이 실제로 있기 때문에 : 나는 날짜로이 같은 예를 들어 뭔가를 가질 수 있기 때문에 접근 방법은 위의 작동하지 않습니다 11 월 (또는 캐나다에 거주하는 경우 12 월). 그렇다면 테이블의 날짜 필드에 조건을 추가하여 정확한 월별로 필터링하는 방법은 무엇입니까? 사전에 어떤 도움

덕분에

답변

4
WHERE MONTH(date)=6 // June 

또한 YEAR 기능을 사용할 수 있습니다

WHERE YEAR(date) =2013 

Referene