您如何选择本月8日至上个月8日之间的所有记录,而无需传递当前月份?我的日期列是日期类型。
SELECT *
FROM table
WHERE date BETWEEN '8th of last month' AND
'8th of this month'
我试过用PHP计算日期计算,然后将其发送到MySQL。但是,考虑到因素,它变得有点复杂。我想知道是否可以用SQL代替?
最佳答案
从将relative time与strtotime()
结合使用的可读性的角度来看,使用PHP可能更直接。
以下内容将帮助您入门:
echo date('Y-m-d', strtotime('eighth of last month'));
更新
普通人不能像我上面想的那样工作。但是,假设您使用每月的同一天(即8日)。很好:
echo date('Y-m-08', strtotime('last month'));