MySQL查询月份

I-M*_*-JM 3 mysql sql

我有一个包含以下字段的表格

id (int)
name (varchar)
dob (datetime)
Run Code Online (Sandbox Code Playgroud)

现在我需要一个可以同时匹配月份和年份的查询

我现在使用的是

select * from users where month(dob)='12' and year(dob)='2010'
Run Code Online (Sandbox Code Playgroud)

我不想使用month()和year(),它可以单独完成吗?

帮助赞赏

谢谢

wal*_*lyk 5

它可以按照您的要求表达,但我认为它不会更有效率.

where dob >= '2010-12-01' and dob <= '2010-12-31 23:59:59'
Run Code Online (Sandbox Code Playgroud)

要么

where '201012' = date_format(dob,'%Y%m')
Run Code Online (Sandbox Code Playgroud)

  • @ IM-JM:但是使用DATE_FORMAT意味着如果dob列上有一个索引,则无法使用 - 不好. (3认同)