gpt4 book ai didi

postgresql - 检查时间戳是否在 tsrange 内

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

是否可以构建一个动态 tsrange 并检查值是否在其中?

我有一个包含两个字段的表,session_startsession_end,我想运行一个查询来检查传递的值是否介于这两个值之间。这些方面的东西(不是有效的 SQL!):

SELECT pk FROM sessions WHERE ? IN [session_start, session_end)

我不确定文字 tsrange 的确切语法以及如何检查是否包含(IN 似乎不起作用`。

请注意,传递的值以及 session_startsession_end 都是 TIMESTAMP 字段/值。

干杯!

最佳答案

是的,您可以使用 range constructor为此:

SELECT rangetype(lower, upper[, bounds]);
-- bounds can be '[]', '[)' (default), '(]', '()'

-- in your case:
SELECT pk FROM sessions WHERE ? <@ tsrange(session_start, session_end, '[)');

注意:容器 operator<@对于范围(不是 IN )。

关于postgresql - 检查时间戳是否在 tsrange 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25687155/

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