我有一个名为mysql的数据库表POST.
其中一个字段是时间戳,在创建记录时设置为默认为mysql服务器上的当前时间戳.
我需要一个SQL查询来提取在特定月份内具有时间戳的所有行.也就是说,三月的所有记录,或十一月的所有记录等.
Raf*_*ael 16
你必须使用monthname()
select * from thetable where monthname(date_field) = 'February'
Run Code Online (Sandbox Code Playgroud)
或月(),但此函数将返回一个数字
select * from thetable where month(date_field) = 2
Run Code Online (Sandbox Code Playgroud)
使用:
SELECT p.*
FROM POST p
WHERE p.date BETWEEN '2011-03-01' AND DATE_SUB('2011-04-01', INTERVAL 1 SECOND)
Run Code Online (Sandbox Code Playgroud)
如果存在索引POST.date,当使用列上的函数(IE:MONTHNAME,MONTH)时,将使用索引POST.date.
| 归档时间: |
|
| 查看次数: |
14857 次 |
| 最近记录: |