(这个问题可能看起来很简单,也可能有点菜鸟,请原谅我的无知。)
我使用 PDO 查询来使用 SELECT
然后获取一些值,现在我只需要获取开始日期和结束日期内的一些条目。
我的数据库
+----------+-----------------+----------------------+--------------------+
| id (INT) | title (VARCHAR) | start_date (VARCHAR) | end_date (VARCHAR) |
+----------+-----------------+----------------------+--------------------+
| 1 | buddy | 2012-11-26 | 2012-11-30 |
| 2 | metro | 2012-12-05 | 2012-12-20 |
| 3 | justin | 2012-11-28 | 2012-12-01 |
+----------+-----------------+----------------------+--------------------+
我的查询如下:
$query = "SELECT title, start_date, end_date FROM debts WHERE start_date >= CURDATE() AND end_date >= CURDATE()";
我想要实现的是,每当 start_date
是今天或更大但不超过 end_date
时,它都是有效的。这将返回 id 1
的行,但是如果我将 start_date
更改为 2012-11-25
,由于第一个原因,它将失败条件为 AND
。由于我是新手,我对此感到非常困惑,是否有任何内置函数可以处理这种情况?
最佳答案
这样更好:
从债务中选择标题、开始日期、结束日期 WHERE date(now()) BETWEEN start_date AND end_date
关于php - 验证 MySQL 查询中的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563409/