DATEDIFF() Subtract two dates
TIMEDIFF() Subtract time
TIMESTAMPDIFF() Subtract an interval from a datetime expression
PERIOD_DIFF() Return the number of months between periods
select DATE_FORMAT(order_date, '%d/%m/%Y') as order_date from order_table
where DATE_FORMAT(order_date, '%d/%m/%Y') >= '18/04/2023'
或
select DATE_FORMAT(order_date, '%d/%m/%Y') as order_date from order_table
where DATE_FORMAT(order_date, '%d/%m/%Y') between '18/04/2023' and
'20/04/2023'
9条答案
按热度按时间zy1mlcev1#
@Mark已经有了很好的方法,但要小心,在这种情况下,你总是要计算并找到第二天。如果你想避免这种情况,仍然忽略时间,你可以做以下事情:
我希望这是有意义的。
owfi6suc2#
s3fp2yjn3#
也许,你可以使用像
date()
这样的函数。但是在这种情况下,速度会降低,因为索引不能使用。所以,我推荐使用mrzz3bfm4#
这有点旧了....但正确的答案也是在order_date列使用date_format,如下所示:
r7s23pms5#
在MySQL中比较日期时,可以使用以下方法之一:
了解有关日期函数MySQL documentation的更多信息。
mspsb9vt6#
在我的例子中,我有
DATE_FORMAT
和CONVERT_TZ
唯一对我有用的就是这个
brqmpdu17#
你也可以这样做,如果你想保持格式不变。
或
例如。
q5iwbnjs8#
你可以使用
DATE
函数:但如果你的表很大,并且你在
order date
上有一个索引,那么这会更有效:bpsygsoo9#
如果你想通过一个日期,那么你可以尝试这样的事情:
您可以查看this以获取更多功能。