我们正在使用带有 timestamptz 类型的表列的 Vertica 数据库,所有数据都根据 UTC 时区插入。我们正在使用 spring-jdbc 的NamedParameterJdbcTemplate
所有查询都基于完整的日历日,例如开始日期 2013/08/01 和结束日期 2013/08/31,这会带来 '2013/08/01 00:00:00.0000' 和 '2013/08/31 23 之间的所有内容:59:59.9999'
我们正在尝试修改我们的查询以考虑时区,即我可以为我的本地时区我可以要求 '2013/08/01 00:00:00.0000 Asia/Jerusalem' 直到 '2013/08/31 23:59:59.9999 Asia /Jerusalem',与 '2013/08/01 00:00:00.0000 UTC' 到 '2013/08/31 23:59:59.9999 UTC' 明显不同。
到目前为止,我找不到这样做的方法,我尝试在会话中设置时区:
将时区设置为“亚洲/耶路撒冷”;
这甚至不适用于我的数据库客户端。
计算 Java 代码中的差异对我们不起作用,因为我们还有返回日期分组的查询(这将完全搞砸)。
有什么想法或建议吗?