【问题标题】:Extract a month from a date从日期中提取一个月
【发布时间】:2009-03-04 10:05:52
【问题描述】:

我正在尝试使用推进标准构建一个查询,以获取给定月份的所有 Foo。

例如,我想要三月份的所有 Foo。在常规 SQL 中,我会构建这样的查询:

SELECT * FROM FooPeer WHERE MONTH(startDate) = 3

知道如何实现“标准对象中的 MySQL 月份函数”吗?

$c = new Criteria();
$c -> add(FooEvent::START_DATE, 3, Criteria::EQUAL); //where do I have to put the Month function ?
return self::doSelect($c);

【问题讨论】:

    标签: php mysql propel


    【解决方案1】:

    好的,自定义标准完成了这项工作!

    $month = 3; //march
    $criteria->add(FooPeer::START_DATE, 'MONTH('.FooPeer::START_DATE.')='. $month, Criteria::CUSTOM);
    

    【讨论】:

      【解决方案2】:

      此问题已部分回答:How to use MySQL functions in Propel

      使用 Criteria::CUSTOM 或编写自定义 SQL 似乎是唯一的解决方案。

      【讨论】:

        猜你喜欢
        • 2019-03-20
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 2020-04-29
        • 2017-10-28
        • 2014-06-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多