(这个问题可能看起来很容易或者有些愚蠢,因为我赦免了我的无知。)
我使用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
上的第一个条件而失败。我真的很困惑,因为我是新手,有没有内置函数来处理这种情况?
答案 0 :(得分:1)
这样更好:
SELECT title,start_date,end_date FROM debts WHERE date(now())BETWEEN start_date AND end_date
答案 1 :(得分:0)
SELECT title, start_date, end_date FROM debts
WHERE start_date >= CURDATE() AND end_date <= CURDATE()