首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle日期比较和TimeZones

Oracle日期比较和TimeZones
EN

Stack Overflow用户
提问于 2011-11-04 09:33:38
回答 1查看 1.4K关注 0票数 0

我是Oracle的新手,一直在努力理解Oracle DATE类型是如何工作的。

我有一个包含时区信息的Java Date对象。据我所知,Java Date对象被规范化为自1970年1月1日以来的毫秒数。然后通过JDBC API将此Date对象保存到数据库。准备好的语句如下所示:

索引(索引,新的java.sql.Timestamp.Timestamp(date.getTime()));

这样做是为了捕获日期和时间信息。

与此索引对应的数据库列的类型为oracle DATE。当我将这个java.sql.Timestamp.Timestamp对象值存储到Oracle DATE字段中时,它是否存储了规范化日期(自1970年1月1日以来的毫秒数)?因此,无论数据库位于哪个时区,存储到oracle DATE列中的数据都将是相同的规范化数据,对吗?

如果我在where子句中将此日期列与SYSDATE进行比较,则在完成比较时SYSDATE也会被规范化。我不确定如何在oracle中进行比较,因为oracle服务器可以位于不同的时区。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-11-04 17:03:08

这两个DATE值都将被标准化。

当我使用Jython进行简单的Oracle查询时:

代码语言:javascript
复制
rs = c.executeQuery("select sysdate from dual")
while (rs.next()):
    print('%s' % (SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").format(rs.getTimestamp(1))))

我得到了:

代码语言:javascript
复制
2011-11-04 09:58:00 +0100

当我住在波兰的时候,我们有'+0100‘时区。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8003984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档