Mysql:从今天开始选择所有订单(转换unix时间戳)

时间:2013-10-30 10:01:14

标签: mysql unix

我正在尝试编写一个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

1 个答案:

答案 0 :(得分: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()