gpt4 book ai didi

sql - 自定义 DATE_TRUNC 时间范围

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

我正在尝试在我的 DATE_TRUNC 函数中自定义时间范围,而不是典型的

DATE_TRUNC('小时', user.created_at)

理想情况下,我想要一些类似

的东西

DATE_TRUNC('3 小时', user.created_at)

当然这不是一个有效的时区单位,所以我得到一个类似

的错误
ERROR:  timestamp with time zone units "3 hour" not recognized
********** Error **********

ERROR: timestamp with time zone units "3 hour" not recognized
SQL state: 22023

我知道我可以修改像

这样的 CASE 语句
'2019-7-26'::DATE + {{number}} * (CASE WHEN 'hour' THEN '1 hour'::INTERVAL
WHEN 'minute' THEN '1 minute'::INTERVAL
WHEN 'second' THEN '1 second'::INTERVAL
END)

但我不想改变时间戳,我不确定如何修改它来实现我上面想要的。

最佳答案

有点痛,但你可以这样做:

select (date_trunc('day', user.created_at) + 
floor(extract(hour from user.created_at) / 3) * interval '3 hour'
)

关于sql - 自定义 DATE_TRUNC 时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57226029/

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