+ -
当前位置:首页 → 问答吧 → 求一条sql语句

求一条sql语句

时间:2011-12-02

来源:互联网

比如:我有一个表叫classmate,里面有一个字段叫birth,类型是date,我想select出当前服务器时间与birth时间相差两个月内的人的数据,所select的时间必须比服务器时间要早,不能已经过了的,也可以说我想select出在与当前时间比较在2个月内快生日的同学.

作者: chago_   发布时间: 2011-12-02

select * from tt where 
birth<=DATE_ADD(curdate(),INTERVAL -2 MONTH)

作者: wwwwb   发布时间: 2011-12-02

or
select * from tt where  
birth<=curdate() - INTERVAL 2 MONTH

作者: wwwwb   发布时间: 2011-12-02

SQL code
select *
from classmate
where birth + interval (year(curdate())-year(birth)+if(DAYOFYEAR(birth)<DAYOFYEAR(curdate()), 1,0)) year  < curdate() + interval 2 month

作者: ACMAIN_CHM   发布时间: 2011-12-02

上面方法未考虑闰年的处理。 29-FEB过生日的同学比较麻烦。

作者: ACMAIN_CHM   发布时间: 2011-12-02