SQL查询日期根据时区

我们使用的是具有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亚洲/耶路撒冷’直到’2013/08/31 23:59:59.9999亚洲/耶路撒冷’,明显不同于’2013/08/01 00:00:00.0000 UTC’至’2013/08/31 23:59:59.9999 UTC’.

到目前为止,我找不到这样做的方法,我尝试在会话中设置时区:

将时区设为’亚洲/耶路撒冷’;

这在我的数据库客户端中甚至不起作用.

计算我们的Java代码中的差异对我们不起作用,因为我们还有返回日期分组的查询(这将完全混乱).

任何想法或建议?

最佳答案
好的,显然:

设定时区为’亚洲/耶路撒冷’;

工作,我只是没有意识到,但为了帮助别人,我将添加其他有用的东西:

从my_table选择时区’Asia / Jerusalem’的fiels;

将适用于timestamptz领域

转载注明原文:SQL查询日期根据时区 - 代码日志