【发布时间】:2012-11-26 10:55:33
【问题描述】:
(请原谅我的无知。)
我使用 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 上的第一个条件而失败。我真的很困惑,因为我是新手,是否有任何内置函数来处理这种情况?
【问题讨论】:
-
start_date >= CURDATE() AND end_date >= CURDATE()。抱歉,我不明白那部分
-
比较日期时使用 date_format(),w3schools.com/sql/func_date_format.asp
-
“它会失败”是什么意思...你收到错误了吗?如果是,是哪一个?
-
对不起,没有抛出错误,它有效但不是我想要的。为了澄清,我编辑了我的帖子。
标签: php mysql date date-range