0

我将日期作为字符串存储在数据库中,如下所示:

2013 年 3 月 8 日 --> 3 月 8 日

我试图只选择与当天同一天的行:

SELECT * FROM wp_aerezona_booking WHERE DATE_SUB(CURDATE(),INTERVAL 1
                                         DAY) <= STR_TO_DATE(date, '%m/%d/%Y')

以上是我尝试过的,但它返回了很多结果,应该只返回 1。

4

3 回答 3

2

这应该已经工作了:

SELECT * FROM wp_aerezona_booking 
WHERE STR_TO_DATE('03/08/2013', '%m/%d/%Y') = CURDATE();

通过使用DATE_SUB您从当天减去 1 天。你看的不是今天,而是昨天。这也<=让你看着昨天和之前的所有日子。

于 2013-03-08T00:26:00.513 回答
1

那你不想要<=,但你想要=date如果小于或等于昨天的日期,前者将获得所有结果。我不确定你是否想要DATE_SUB

于 2013-03-08T00:20:44.667 回答
0

如果您想要与今天的日期相同的日期,那么您必须使用“=”运算符。

SELECT * 
FROM wp_aerezona_booking 
WHERE  STR_TO_DATE(date, '%m/%d/%Y')= CURDATE()
于 2013-03-08T06:09:59.587 回答