mysql 月份查詢該月有付款的數據

mysql選擇月份查詢該月有付款的數據(間隔x月并提前5天付款)

ktime 開始時間串
dtime 到期時間串
jmonth 付費間隔月份數 可選(1,3,6,12)
需要 按月查詢數據
比如說 ktime=1228406400(2008-12-5) dtime=1259856000(2009-12-4) jmonth=3
從2008-12-5開始,間隔3個月需要付費 直到2009-12-5
既第一次是2008-12-5號付費
第二次是2009-2-28號付費(提前5天)2009-3-5
第三次是2009-5-31號付費(提前5天)2009-6-5
第四次是2009-8-31號付費(提前5天)2009-9-5
現在我要查詢2009年2月的要付費的數據就可以把上面給查出來,
查2009年3月的要付費的就無上面的例子
查2009年5月的也可以查出來。

代碼如下:
$stime=”2009-05″; 當前月,選擇的查詢月份。
$stimes=”200905″;
$mintime=1241107200(2009-05-01 00:00:00);
$maxtime=1243785600(2009-06-01 00:00:00); 月份+1
$sql=”select * from t_list where del=0 and ( (ktime>={$mintime} and ktime$maxtime and PERIOD_DIFF(“.$stimes.”,DATE_FORMAT(FROM_UNIXTIME(ktime-5*24*60*60),”%Y%m”)) mod jmonth=0) ) order by ktime desc”;

(ktime>={$mintime} and ktimektime$maxtime 除開開始時間為當前月的和到期時間為本月的
PERIOD_DIFF(“.$stimes.”,DATE_FORMAT(FROM_UNIXTIME(ktime-5*24*60*60),”%Y%m”)) 當前月與開始時間之間的間隔月份數
mod jmonth=0 當前月與開始時間之間的間隔月份數 與 付費的間隔月份數 取余得0的說明當前月需要付費。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享