问题描述
背景:
1.我刚刚在东海岸的AWS RDS实例上创建了一个数据库。
2.我注意到,当我在AWS中设置DB时,时区设置为GMT/UTC (格林威治标准时间)。
3.我注意到,当我从实例本身查询
1.我刚刚在东海岸的AWS RDS实例上创建了一个数据库。
2.我注意到,当我在AWS中设置DB时,时区设置为GMT/UTC (格林威治标准时间)。
3.我注意到,当我从实例本身查询
专家解答
SYSDATE不受任何影响,因为它是一个日期 (不包含时区信息),因此您将从服务器 * 获取日期 *。
SYSTIMESTAMP和其他时间戳函数 * 可能 * 受时区影响。数据库有一个时区,但这可能与您的会话时区完全不同。我住在珀斯,所以 (默认情况下) 我的数据库和会话区域是相同的。
但是,如果我从某个地方访问这个数据库,那么我可能想在 * 我的 * 本地时区中查看时间等,所以我可以使用适当的函数来做到这一点:
(请注意-我在这里做了一个明确的更改,但是通常您的客户端将在操作系统级别的连接上设置时区,并且会话将只接收它)
这不会影响数据库服务器上的时区
希望这有所帮助
SYSTIMESTAMP和其他时间戳函数 * 可能 * 受时区影响。数据库有一个时区,但这可能与您的会话时区完全不同。我住在珀斯,所以 (默认情况下) 我的数据库和会话区域是相同的。
SQL> select sessiontimezone from dual; SESSIONTIMEZONE ---------------------------------------------------------- +08:00 SQL> select dbtimezone from dual; DBTIME ------ +00:00
但是,如果我从某个地方访问这个数据库,那么我可能想在 * 我的 * 本地时区中查看时间等,所以我可以使用适当的函数来做到这一点:
SQL> alter session set time_zone = '+02:00'; Session altered. SQL> select localtimestamp from dual; LOCALTIMESTAMP ---------------------------------------------------------- 12-FEB-19 04.16.24.994000 AM
(请注意-我在这里做了一个明确的更改,但是通常您的客户端将在操作系统级别的连接上设置时区,并且会话将只接收它)
这不会影响数据库服务器上的时区
SQL> select systimestamp from dual; SYSTIMESTAMP ---------------------------------------------------------- 12-FEB-19 10.16.12.910000 AM +08:00
希望这有所帮助
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




