1

フィールドを持つ CakePHP アプリケーションのデータベースにテーブルがありますdate。そのフィールドのデータ型は DATETIME です。したがって、表に示すと次のようになります。

2013-08-10 13:34:45

年または月ごとにフィルター処理する条件を find() クエリに追加したいと考えています。年でフィルタリングするには、LIKE 条件を使用して次のようにします。

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

しかし、どうすれば月でフィルタリングできますか? たとえば、次のようなものを日付として持つことができるため、上記のアプローチは機能しません。

2013-12-11 11:11:11

LIKE '%11%' を実行すると、前の日付の月が実際には 11 月 (またはカナダに住んでいる場合は 12 月) であるため、結果が正しくありません。では、テーブルの日付フィールドに条件を追加して、正しい月でフィルター処理するにはどうすればよいでしょうか?

助けてくれてありがとう

4

1 に答える 1

5
WHERE MONTH(date)=6    // June

YEAR機能を使用することもできます

WHERE YEAR(date) =2013

レフェレン

于 2013-10-10T03:17:45.040 に答える