0

这似乎是一项简单的任务,我看到其他人问过同样的问题,但我仍然无法从我的 SQL 查询中返回任何结果。我有一个由时间戳默认当前设置的日期列。所以它读取 YYYY-MM-DD HH-MM-SS。

我的 SQL 查询如下:

select `paid` from customer_det where `office` = "Blanding" and `date`= CURDATE();

当我摆脱 and date = curdate 时,我返回一个结果集。所以我很好奇如何匹配这两个日期。我只需要拉取今天插入的结果,实际时间无关紧要。

谢谢。

4

4 回答 4

1

CURDATE()返回 YYYY-MM-DD。

您的日期值是 YYYY-MM-DD HH-MM-SS,所以 date = CURDATE()总是错误的。因为你正在做的是'2012-11-07 21:58:47' = '2012-11-07',这显然是不一样的。

相反,您可以使用 mysql 的 DATE() 函数,如下所示:

SELECT `paid` FROM customer_det WHERE `office` = "Blanding" and DATE(date) = CURDATE();
于 2012-11-07T20:59:10.907 回答
0

你有没有试过这个:

$curDate = date("Y-m-d");
$query = "select `paid` from customer_det where `office` = "Blanding" and `date` = $curDate";

在我看来,您列出的内容应该可行。

于 2012-11-07T21:04:59.653 回答
0

您可以转换时间戳以获取该DATE()部分并进行比较:

SELECT `paid` FROM customer_det WHERE `office` = "Blanding" AND DATE(`date`) = CURDATE();
于 2012-11-07T20:58:43.293 回答
0

我相信你可以用DATEDIFF做到这一点。

select `paid` from customer_det where `office` = "Blanding" and DATEDIFF(`date`, CURDATE()) = 0;
于 2012-11-07T20:59:07.647 回答