高斯数据库客户端查询时区命令

高斯数据库客户端查询时区命令,第1张

GaussDB(DWS)中的时区分为后台集群时区和客户端时区。后台集群时区默认使用UTC时区,可以通过控制台的集群参数修改页面进行调整。通常情况下集群时区不需要进行修改,设置客户端时区可以对SQL执行产生影响。

查询客户端时区和当前时间。

客户端时区为UTC时区,now()函数返回当前时间。

建立如下数据表

CREATE TABLE timezone_test (id int, t1 timestamp, t2 timestamptz) DISTRIBUTE BY HASH (id)

其中timestamp,timestamptz是常用的时间类型。timestamp不保存时区,timestamptz保存时区。

向timezone_test表插入当前时间。

查询timezone_test表

t1 (timestamp类型)在保存数据时丢弃了时区信息,t2(timestamptz类型)保存了时区信息。

把客户端时区设置为东8区(UTC-8),再次查询timezone_test表。

t1的查询结果没有变化。而t2根据客户端时区做了调整,显示为东8区时间“2020-06-13 15:32:39.207232+08”。 t2保存的数据没有发现变化只是按东8区的方式显示出来。

继续插入当前时间到timezone_test表,并查询。

这时t1新插入的值是用的东8区时间。

客户端设置为UTC时区,再次查询。

客户端时区切换t1查询结果保持不变,t2根据客户端时区对查询结果进行转换。

time_zone session parameter

时区会话参数

ORACLE下,我们通过以下参数来进行时区设置:

1. an absolute offset--绝对偏移量

例: alter session set time_zone = '-05:00'

2. database time zone--数据库时区

例:alter session set time_zone = dbtimezone

这是数据库默认的时区

3. os local time zone-- *** 作系统本地时区

例:alter session set time_zone = local

获得系统本地时区

4. a named region--直接用名字指定时区

例:alter session set time_zone = 'america/new_york'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6901931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存