php - 验证 MySQL 查询中的日期范围

标签 php mysql date date-range

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

我使用 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/

相关文章:

sql - 需要优化嵌套的 select 语句

r - 如何使用 ggplot2 在箱线图中添加一条线

javascript - 如何使用 moment js 查找季度剩余天数

javascript - 传递 PHP 下一页变量

php - 有没有办法在 XAMPP 中使用两个 PHP 版本?

php - 调试时让 xdebug 跳过某些功能

php - Laravel 关系的外键等价物

php - Zend Service Amazon - 如何在子类别中搜索?

php - 相当于 PHP 中的 mysql CURRENT_DATE() 函数

java - 如何将时间四舍五入到最近的一刻钟和半小时间隔?