membership
表數個月出現誤導的結果
- membership_startdate
- member_dueday
要找到多少的成員已經從membership_startdate
支付到現在支付(月數)和考慮到:
SELECT DATEDIFF(GREATEST(NOW(), memberToMship_DueDay), memberToMship_StartDate) AS diff
FROM membertomship
...但它w當我們認爲memberToMship_StartDate
是2011-07-01和mmebership_dueday
是07時給出錯誤的結果結果是06,但它是錯誤的。
如果memberToMship_StartDate
爲「2011-01-01」,截止日期爲15,則結果將近6個月(1月15日)。
我用mysql
我已經試過這
SELECT DATE_SUB(DATE_ADD(memberToMship_StartDate,GREATEST(NOW(), memberToMship_DueDay)), INTERVAL memberToMship_DueDay DAY) AS diff FROM membertomships;
但它給錯誤,如
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GREATEST(NOW(), memberToMship_DueDay)), INTERVAL memberToMship_DueDay DAYS) AS ' at line 1
@湯姆我已經試過,但它是給錯誤的結果.... – user682417
然後指出這點在原來的問題,並取消接受的答案。不要創建一個新的答案來回答相同的問題。 –
你給的例子不會給7嗎? DATEDIFF將在幾天內返回結果。所以DATEDIFF('2011-07-01','2011-01-01')將是181 – JustDanyul