如何从日期搜索?

时间:2014-12-11 04:29:07

标签: php mysql

我是php的新手。 我的数据库日期是2013-10-28.我想只搜索日期(28)。 ____-__- 28这是想要的格式。 请帮忙。

<td style="text-align:center;">
    <?php
    if ($List[$i]['mmpautono'] != "" && $List[$i]['mautono'] != "" && $List[$i]['Eudate'] == '%%-%%-08') {
        echo "1";
    } else {
        echo "0";
    }
    ?>
</td>

Eudate日期是搜索日期。

4 个答案:

答案 0 :(得分:2)

所以你想搜索那个月的日期是28的日期,是吗?如果是这样,请尝试

... WHERE DAYOFMONTH(dateColumn) = 28

请参阅http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofmonth

请注意,这可能是一个缓慢的查询,因为您无法索引日期函数的结果。如果速度至关重要,您可以创建另一个名为day_of_month或其他内容的列,对其进行索引并使用DAYOFMONTH / INSERT触发器将其填充为UPDATE

然后你只需要搜索

... WHERE day_of_month = 28

答案 1 :(得分:1)

您可以像这样过滤数据库中的数据,然后在前端执行操作。

SELECT * FROM tableName where  EXTRACT(DAY FROM columnName) = 28;

答案 2 :(得分:0)

使用MySQL LIKE()

SELECT * FROM tableName WHERE dateField LIKE '%-28'

OR

DAYOFMONTH()

SELECT * FROM tableName WHERE DAYOFMONTH(dateField) = '28'

答案 3 :(得分:0)

试试这个会起作用:

SELECT * FROM tableName WHERE datecolumn LIKE '%-28'