gpt4 book ai didi

postgresql - PostgresQL。与在 WHERE 子句中显式定义整个时间戳相比,将时间戳转换为日期的区别

转载 作者:行者123 更新时间:2023-11-29 14:35:32 25 4
gpt4 key购买 nike

我有一个带有两个 WHERE 子句版本的 SQL 查询:

首先(显式时间戳):

WHERE created_at BETWEEN '2017-07-06 00:00:00.0' AND '2017-07-20 00:00:00.0' AND doc->>'sensorId' != '7777777'

结果行数 = 15477

第二个(转换为日期):

WHERE created_at::date BETWEEN '2017-07-06'::date AND '2017-07-20'::date AND doc->>'sensorId' != '7777777'

结果行数 = 18679

created_at 列包含没有时区的时间戳,格式为“2017-07-06 08:41:34.574686”

毫秒的长度在 5 到 6 位之间。

我意识到这可能是通过将时间戳转换为日期创建的,但我不明白为什么会发生这种情况,如果有人可以解释一下。

最佳答案

我是个白痴...第一个查询应该是 AND '2017-07-21 00:00:00.0'

关于postgresql - PostgresQL。与在 WHERE 子句中显式定义整个时间戳相比,将时间戳转换为日期的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45241755/

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