我怎样才能搜索一个月中的任何一天?

时间:2010-02-15 21:27:30

标签: php mysql date

我正在搜索数据库以查找在某个月内撰写的文章:

between '1 '.$month.' '.$year and '31 '.$month.' '.$year

即使某些月份(如2月份)只有28天,这种方法还可以吗?换句话说,我是否必须动态查找该月份的天数?

4 个答案:

答案 0 :(得分:7)

不,您不需要知道月份的长度。就这样做:

WHERE MONTH(yourcolumnname) = $month AND YEAR(yourcolumnname) = $year

答案 1 :(得分:1)

你的代码看起来像o.k.从某种意义上说它会起作用,但更优雅的方法是

SELECT * FROM tablename WHERE MONTH(columname) = '1'
                              AND YEAR(columnname) = '2009'

答案 2 :(得分:1)

如果是DATETIMEDATE字段,您也可以SELECT * FROM table WHERE date_column LIKE '2010-02-%';使用索引编制,这可能比MONTH()YEAR()技术更快,必须在每一行上运行计算。

答案 3 :(得分:0)

你能在

之间搜索吗?
between '1 '.$month.' '.$year and '1 '.$month_plus1.' '.$year

您是否尝试针对您要匹配的数据运行sql语句,这可能是一个很好的方法。