程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 月份查詢該月有付款的數據

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

編輯:MySQL綜合教程

mysql 月份查詢該月有付款的數據。本站提示廣大學習愛好者:(mysql 月份查詢該月有付款的數據)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 月份查詢該月有付款的數據正文


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) or (ktime<$mintime and dtime-5*24*60*60>$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 ktime<$maxtime) 開端時光為以後月的
ktime<$mintime and dtime-5*24*60*60>$maxtime 除開開端時光為以後月的和到期時光為本月的
PERIOD_DIFF(".$stimes.",DATE_FORMAT(FROM_UNIXTIME(ktime-5*24*60*60),\"%Y%m\")) 以後月與開端時光之間的距離月份數
mod jmonth=0 以後月與開端時光之間的距離月份數 與 付費的距離月份數 取余得0的解釋以後月須要付費。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved