mysql:使用PHP选择特定月份的所有条目

时间:2011-03-27 17:11:40

标签: php mysql

我有一个名为POST的mysql数据库表 其中一个字段是时间戳,在创建记录时设置为默认为mysql服务器上的当前时间戳。

我需要一个SQL查询来提取在特定月份内具有时间戳的所有行。也就是说,三月的所有记录,或十一月的所有记录等等。

3 个答案:

答案 0 :(得分:16)

你必须使用monthname()

select * from thetable where monthname(date_field) = 'February'

或月(),但此函数将返回一个数字

select * from thetable where month(date_field) = 2

答案 1 :(得分:6)

使用:

SELECT p.*
  FROM POST p
 WHERE p.date BETWEEN '2011-03-01' AND DATE_SUB('2011-04-01', INTERVAL 1 SECOND)

如果POST.date上存在一个索引,当使用POST.date列上的函数(IE:MONTHNAME,MONTH)时,这将使用索引。

答案 2 :(得分:1)

您可以使用monthname():

select * from post where monthname(date) = 'February'