按年月查询的sql语句(字段是date类型)
问题:数据库一张表,定义字段如下id(int),name(varchar),birthday(date)
记录如下:
id name birthday
1 zhangsan 2009-12-30 00:00:00
2 lisi 2010-01-30 00:00:00
3 yy 2009-12-02 00:00:00
如果我需要查询2009年12月份的记录,也就是id=1和3这两条记录
解决方案:
通过sql的日期函数,year()和month()
select * from t_user where year(birthday)='2009' and month(birthday)='12'
结果:
1 zhangsan 2009-12-30 00:00:00
3 yy 2009-12-02 00:00:00
下面解释一下这两个函数如何使用:
YEAR()
YEAR() 函数语法如下:
YEAR (<date_expression>)
YEAR() 函数返回date_expression 中的年份值。
提醒:在使用日期函数时,其日期值应在1753年到9999年之间,这是数据库所能识别的日期范围,否则会出现错误。
至于MONTH()函数和year()函数是一样的哦!