0

我正在尝试编写一个 mysql 查询来获取今天已下的所有订单。但是我遇到了很多麻烦,因为我的数据库使用 unix 时间戳来存储日期。

我已经能够使用以下内容将其转换为更易于阅读的日期,但 WHERE 子句不起作用。

SELECT DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') as entryDate, id FROM customers_orders WHERE entryDate = CURDATE()

这返回零结果,我不知道为什么。当我在没有 WHERE 的情况下运行查询时,我得到了结果。

我创建了一个 SQL 小提琴:http ://sqlfiddle.com/#!2/93f02/13 (但它现在离线......)

我也试过;

SELECT CURDATE()
// Output: 2013-10-30 (own database)
// Output: October, 30 2013 00:00:00+0000 (SQLfiddle)

不知道为什么它在 SQLfiddle 上返回不同但可以使用;

SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d') 
// Output: 2013-10-30
4

1 回答 1

1

试试这个

SELECT DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') as entryDate, id 
FROM customers_orders WHERE DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') = CURDATE()
于 2013-10-30T10:03:24.213 回答