我正在尝试制作一个基于PHP的小型轻量级工作表系统。我知道在网上我可以找到很多,但这些对我来说太过分了。
我有桌子:
ID
date
user_name
workplace1_am
workplace1_pm
workplace2_am
workplace2_pm
对于当前月份和当前日期,我解决了问题。
现在我只需要从表中获取下个月的数据:
SELECT * FROM table WHERE ...
带有date
字段
SELECT * FROM table WHERE month = NOW() + INTERVAL 1 MONTH
与timestamp
字段
SELECT * FROM table WHERE MONTH(date) = MONTH(NOW() + INTERVAL 1 MONTH) AND YEAR(date) = YEAR(NOW() + INTERVAL 1 MONTH)
一个很好的例子是确保你的月份列是一个DATE()
所以把它投射到一个日期,然后与拉出日期的CURDATE()
进行比较。 NOW()
拉出日期和时间,与日期进行比较时
SELECT whatever_you_need
FROM table
WHERE date = CURDATE() + INTERVAL 1 MONTH
注意:我不建议您只用SELECT *
拉出所有内容,您应该始终拉出所需的特定行
编辑:
要找到一年和一个月,你可以这样做
SELECT whatever_you_need
FROM table
WHERE EXTRACT(year_month FROM date) = EXTRACT(year_month FROM CURDATE() + INTERVAL 1 MONTH)
工作小提琴演示
year_month以 yyyymm 格式返回数据,因此在一次函数调用中按月和年进行唯一比较
使用这个
SELECT DATE_ADD($currentdate, INTERVAL 1 MONTH);
参考这个非常有用的链接