1

通过在构造函数中仅指定毫秒来构建SQL 时间戳时,将使用哪个时区?以及如何选择将 UTC 或本地时区写入类型的 Oracle 数据库列TIMESTAMP(6) WITH LOCAL TIME ZONE

4

1 回答 1

2

时间戳(整数年,整数月,整数日期,整数小时,整数分钟,整数秒,整数纳米)

时间戳(长时间) - 时间 - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。负数是 1970 年 1 月 1 日 00:00:00 GMT 之前的毫秒数。

时间戳中没有时区

一般来说,如果假设时区,它将是 jvm 默认值(系统默认值)

oracle 数据类型是不同的野兽

SQL DATE 与 java.sql.Date 中的时区

Oracle 10g 时区混淆- 有 3 个时区在起作用

使用数据库时,请使用 Calendar 或 java.sql.Date

oracle 驱动程序(和 sql 开发人员)可以将(其智能)日期从 jvm 时区(或严格地说,会话时区)转换为它需要的日期

您可以更改会话时区 - alter session set time_zone...如何在 Oracle 上获取 SYSDATE 的 UTC 值

小心你在做什么

编写 10 个不同的测试用例

这个博客也很好http://tonyhasler.wordpress.com/2010/09/04/tonys-tirade-against-timestamp-with-time-zone/

于 2014-09-30T14:17:25.423 回答