获取MySQL中给定月份的记录?

Pus*_*dra 2 php mysql

我有一张桌子:

id     trans_date                  resp_code 
------------------------------------------------
1      2011-02-15 12:47:09    1 
2      2011-02-24 12:47:09    1
3      2011-02-29 12:47:09    1
4      2011-03-11 12:47:09    1
5      2011-03-15 12:47:09    1
6      2011-03-22 12:47:09    1
7      2011-04-10 12:47:09    1
8      2011-04-11 12:47:09    1
Run Code Online (Sandbox Code Playgroud)

我想要的只是获取给定的所有记录month.喜欢的month March[03], I should get row 4,5, and 6.

提前致谢.....

zer*_*kms 14

SELECT *
  FROM tbl
 WHERE trans_date BETWEEN '2011-03-01' AND DATE_ADD('2011-03-01', INTERVAL 1 MONTH)
Run Code Online (Sandbox Code Playgroud)

您也可以按照此查询

SELECT *
  FROM tbl
 WHERE MONTH(trans_date) = 3
   AND YEAR(trans_date) = 2011
Run Code Online (Sandbox Code Playgroud)

但它会导致全扫描,因此对大量数据会很慢