[操作疑難] PHP MYSQL 查詢上一個月入貨紀錄問題

想向各位師兄請教一下,因為 Google 咗好耐都搵唔到啱用的,所以自己參考官網寫了句 SQL 計上個月有幾多篇文章,計算今個月就咁無問題。
  1. SELECT * FROM `stock` WHERE YEAR(`Input_date`) = YEAR(NOW()) AND MONTH(`Input_date`) = MONTH(NOW())
複製代碼
但上個月我咁寫,我諗如果今日係 2016-1-1,但寫果日係 2015-12-1 會唔會出錯呢...?
  1. SELECT * FROM `stock` WHERE YEAR(`Input_date`) = YEAR(NOW()) AND MONTH(`Input_date`) = MONTH(NOW()) - 1
複製代碼
有諗過用 date_add / date_sub,但佢的1個月係30日,1年係365日,
而唔係實際計算依家係4月,上個月係3月 果種,例如我要上個月 date,佢以當日減 30 日計
所以整唔到,唔知有無理解錯

TOP

你係想要果個月GE DATA?
如果係可以試下用 TRUNC(INPUT_DATE, 'mm')  = TRUNC(SYSDATE, 'mm')

TOP

我唔明點解個query唔寫得flexible d
只食年同月, 咁你PHP 果邊到時要查邊個月都一Q搞掂

TOP

thx 各位師兄
我再研究下,因為其實我唔係要指定任何一個月份,而係上個月。
最難係 2014-12-xx 的上個月,怕佢唔識自動轉年份

TOP

thx 各位師兄
我再研究下,因為其實我唔係要指定任何一個月份,而係上個月。
最難係 2014-12-xx 的上個月, ...
LikPan 發表於 2015-5-27 15:45


真係唔得嘅咪用PHP dynamic gen條sql,唔係好大問題

TOP

select DATE_ADD( now() ,INTERVAL -1 month) 一定識計年份

TOP

你可以轉做timestamp再減一個月.. , 再轉返出黎禁就OK

TOP