Php 如何过滤MySQL日期?

Php 如何过滤MySQL日期?,php,mysql,date,Php,Mysql,Date,我正在尝试从中选择*,但只选择30天以内的项目。这是我的选择代码: SELECT * FROM `{$table_name33}` WHERE `type`='wpst-requiredinfo' ORDER BY `foreignkey` ASC; 然而,我的问题是我不知道如何添加WHERE和last_updated少于30天 我不确定如何编写查询,但日期显示如下:1428412603在表列中,我觉得它不太像日期。我不知道从哪里开始。试试这个where子句: WHERE `type`='wp

我正在尝试从中选择*,但只选择30天以内的项目。这是我的选择代码:

SELECT * FROM `{$table_name33}` WHERE `type`='wpst-requiredinfo' ORDER BY `foreignkey` ASC;
然而,我的问题是我不知道如何添加
WHERE和last_updated
少于30天


我不确定如何编写查询,但日期显示如下:
1428412603
在表列中,我觉得它不太像日期。我不知道从哪里开始。

试试这个
where
子句:

WHERE `type`='wpst-requiredinfo' and
      last_updated >= date_sub(now(), interval 30 day)
编辑:

您的日期似乎是Unix时间格式

WHERE `type`='wpst-requiredinfo' and
      last_updated >= unixtime_timestamp() - 30*24*60*60

注意:这会将所有函数置于当前时间。特别是,它不使用UNIXTIME(上次更新)中的
。这可确保索引可用于查询的这一部分。最好的索引是
(键入,上次更新)

该日期是大纪元时间,感谢您的快速回复。我复制并粘贴了那个。。。它没有破坏任何东西,也没有改变任何东西。我翻了翻>和<,试了一天而不是30天,只是为了确定,但没有改变-/我的整个答案只适用于
where
子句。如果您对unix时间感到满意,请将其放入
选择中。如果需要日期时间值,请使用来自\u unixtime()的
。确定尝试此操作。。。新问题,上次更新的内容是否需要在它周围打勾,因为它是一个列名?同时,当我读到它的时候,它说上次更新的位置大于或等于30天。。对吗?@GeoffHill。仅当标识符(列或表名)使用保留字或具有异常字符(空格、句点等)时,才需要反勾号。如果使用良好的命名约定,则不必使用反勾号,只会使查询更难读、更难写,并且不便于移植到不同的数据库。因此,上次更新时不需要它们。谢谢我尝试过:
last\u updated>=date\u sub(unixtime\u timestamp(now()),interval 30 day)
,现在没有显示任何记录。。但记录最后一次更新是在30天内…:-/