gpt4 book ai didi

MySQL 仅按日期搜索时间戳列

转载 作者:行者123 更新时间:2023-11-29 06:36:56 25 4
gpt4 key购买 nike

我正在构建一个查询来通过时间戳列值搜索表。我传递给 API 的格式示例是 2018-10-10。用户能够选择日期范围。通常,日期范围开始日期为 2018-10-10,结束日期为同一天,2018-10-10。下面的似乎没有做到这一点。无需指定时间即可完成此任务的最简单方法是什么?显然,我想查询 2018 年 10 月 10 日从开始到结束的一整天。

SELECT
count(*)
FROM
contact
WHERE
created_at >= '2018-10-10'
AND created_at <= '2018-10-10';

最佳答案

这里的问题是 Timestamp数据类型将有 HH:MM:SS (时间)值(value)也。在比较日期时间和日期时,MySQL 会自动假设 00:00:00HH:MM:SS为日期值。

所以,2018-10-10 12:23:22将不匹配以下条件:created_at <= '2018-10-10' ;因为它会被视为: 2018-10-10 12:23:22 <= '2018-10-10 00:00:00 ,这是

要解决此问题,您可以在日期中添加一天(过滤器中的 date_to),并使用 <用于范围检查的运算符。

SELECT
count(*)
FROM
contact
WHERE
created_at >= '2018-10-10'
AND created_at < ('2018-10-10' + INTERVAL 1 DAY);

关于MySQL 仅按日期搜索时间戳列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53418644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com