看错不好意思 select field from table where (curdate()-time)>30;
curdate()是取当前时间截的日数?
ADDDATE(date,INTERVAL 1 MONTH )<NOW()
有一条记录的date值为1070587078(即2003年12月05日 09时17分),然后我把时间调到2004-01-7日. 语句:select * from send_record where (curdate()-date)>30 语句:select * from send_record where ADDDATE(date,INTERVAL 1 MONTH )<NOW() 记录都不显示???
你要把unix时间用时间函数转化成标准的时间在进行查询
select * from send_record where date < DATE_ADD(NOW(),INTERVAL '-1' MONTH )
select field from table where (curdate()-time)>30;
语句:select * from send_record where (curdate()-date)>30
语句:select * from send_record where ADDDATE(date,INTERVAL 1 MONTH )<NOW()
记录都不显示???
select FROM_UNIXTIME(1070587078),ADDDATE(FROM_UNIXTIME(1070587078),INTERVAL 1 MONTH)使用int类型保存日期,取得的结果如用php进行处理当然可以。但是对每一个都要处理一下,开销是可想而知的。而使用mysql日期处理函数得到的已是处理好的结果直接使用即可。运行时:mysql是编译后的机器指令直接执行,而php是伪编译指令解释执行。明显的前者的效率高于后者。