gpt4 book ai didi

postgresql - 如何使用 knex.js 在 postgres 上处理带时区的时间戳

转载 作者:行者123 更新时间:2023-11-29 14:18:49 27 4
gpt4 key购买 nike

我正在尝试将以下 sql 查询转换为 knex:

select count(*) as finished_on_time from task_history 
where date = 20160303
and store_id = 2
and (schedule_start_time at time zone 'Australia/sydney' + interval '1' minute * floor (group_duration) )::time >= (finish_time at time zone 'Australia/sydney')::time
  • 日期字段采用 yyyymmdd 格式

这是我在 knex 上尝试过的:

db.table('task_history')
.count('*')
.where({date: request.params.storeid, store_id: request.params.storeid })
??????

如您所料,我不确定使用哪个子句来处理 sql 语法 [在时区 Australia/sydney]。

我一直试图在互联网上找到任何类似的解决方案,但最终在这里。

最佳答案

http://knexjs.org/#Builder-whereRaw

db.table('task_history')
.count('*')
.where({date: request.params.storeid, store_id: request.params.storeid })
.whereRaw("(schedule_start_time at time zone 'Australia/sydney' + interval '1' minute * floor (group_duration) )::time >= (finish_time at time zone 'Australia/sydney')::time")

关于postgresql - 如何使用 knex.js 在 postgres 上处理带时区的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428501/

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