我可以直接比较日期时间和日期吗? (今天创造的记录)

问题描述 投票:0回答:1

我有这样的条件来选择今天制作的记录:

created_at > CURDATE()

其中created_at是日期时间。
它不是我做的,通常它可以工作,但客户报告说它并不总是给出正确的结果。
现在我想知道这是否是一个正确的解决方案和良好的实践,还是必须将其更改为“DATE(created_at) = CURDATE()”?
综上所述,如果我们想获取特定日期之后创建的记录,可以将 datetime 与 date 进行比较吗? SQL 会正确处理它还是必须先将其转换为日期?

sql mysqli
1个回答
0
投票

是的,你需要CAST,这里有一个测试用例,可以更清楚地显示差异。

如果今天是 2023 年 10 月 21 日

  • SELECT '2023-10-21 23:59:59' > CURDATE()
    结果:
    1

  • SELECT DATE('2023-10-21 23:59:59') > CURDATE()
    结果:
    0

© www.soinside.com 2019 - 2024. All rights reserved.