0

(这个问题可能看起来很简单或有点无聊,请原谅我的无知。)

我使用 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_date2012-11-25,它将由于第一个条件 on 而失败AND。我真的很困惑,因为我是新手,有没有内置函数来处理这种情况?

4

2 回答 2

1

这个更好:

SELECT title, start_date, end_date 从债务 WHERE date(now()) BETWEEN start_date AND end_date

于 2012-11-26T11:02:24.117 回答
0
SELECT title, start_date, end_date FROM debts
WHERE start_date >= CURDATE() AND end_date <= CURDATE()
于 2012-11-26T10:57:52.490 回答