mysql 查询时间条件问题

今天遇到了一个问题,跟大家分享一下。

有这样一个sql:

select * from order where created > now() - 259200

目的是为了查询三天内的订单, 理解上259200是秒数,转化为72个小时,也就是3天。
但是事与愿违。 mysql中时间算减法居然不是这么算的。他是这么算的:
now() - X00 X<99, 那么就是减去X分钟。
now() - X0000, 那么就是减去多少小时,但是当减去的小时数超过今天的时候那么最少只能到当前天的00:00:00.这样就造成了问题。

那么怎么解决这个问题呢?可以使用mysql自带的时间函数,如下:

select * from order where created > date_add(now(), interval -1 day);

或者直接从代码中把> ?的这个部分传递过来。

上一篇:[微信小程序直播平台开发]___(一)介绍与流程


下一篇:VectorizedReader 和 ORC