Dan*_*ews 0 php mysql database
我正在尝试使用单个查询请求今天或之后出现的表中的任何记录.
每条记录的所有日期都存储在单独的列中,例如.- 一个month,一个year,一个day.
很明显,我已经获得了今年之后发生的所有记录
$sql = "SELECT * FROM table WHERE year>=".$year_today."
ORDER BY year, month, day";
Run Code Online (Sandbox Code Playgroud)
然后我一直试图通过使用以下来过滤掉一点:
$sql = "SELECT * FROM table
WHERE year>=".$year_today." && month>=".$month_today."
&& day>=".$day_today."
ORDER BY year, month, day";
Run Code Online (Sandbox Code Playgroud)
为了测试它,我在昨天的日期在数据库中创建了一条记录,但是,这条记录仍然出现在返回记录列表中.我究竟做错了什么?:(
这可以使用时间函数以一种很好的方式实现,而使用DATE列则更好.
SELECT * FROM TABLE WHERE TIMESTAMP(CONCAT(year,"-",month,"-",day)) >= CURDATE()
Run Code Online (Sandbox Code Playgroud)
好吧,这是邪恶的,因为它不使用索引...正确的事情将是一个DATE列,但手工做所有这一切都很烦人,因为你还要考虑年份较大但月份较小的情况.. ..
| 归档时间: |
|
| 查看次数: |
1538 次 |
| 最近记录: |