很多时候需要对sql中的时间进行相关的计算来达到自己的目的
例如:我要查询新用户的登陆次数。则就需要查询登陆时间比注册时间小于30天之类的登陆次数(REGTIME+30day < LOGINTIME)。
1.SELECT * from sys_user WHERE TIMESTAMP(REGTIME,'30 00:00:00') > LOGINTIME
2.SELECT * from sys_user WHERE TIMESTAMPADD(DAY,30,REGTIME) > LOGINTIME
3.SELECT * from sys_user WHERE TIMESTAMPDIFF(DAY,REGTIME,LOGINTIME) < 30
4.SELECT * from sys_user WHERE DATE_ADD(REGTIME,INTERVAL 30 DAY) > LOGINTIME
5.SELECT * from sys_user WHERE DATEDIFF(LOGINTIME,REGTIME) < 30
分别用TIMESTAMP(expr1,expr2)、TIMESTAMPADD(unit,interval,datetime_expr)、TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)、DATE_ADD(date,INTERVAL expr unit)、DATEDIFF(expr1,expr2)等是做筛选。