KingbaseES timestamp 和 timestamptz 差异比较

KingbaseES 提供两种存储时间戳的数据类型: 不带时区的 TIMESTAMP 和带时区的 TIMESTAMPTZ。

TIMESTAMP 数据类型可以同时存储日期和时间,但它不存储时区。这意味着,当修改了数据库服务器所在的时区时,它里面存储的值不会改变。
TIMESTAMPTZ 数据类型在存储日期和时间的同时还能正确处理时区。在向 TIMESTAMPTZ 字段插入值的时候,KES 默认认为时间是当前时区。当插入的数据是非当前时区时,KES 会把存储在其中的值转换成数据库服务器 TIMEZONE 参数所在的时区。

TIMESTAMP 和 TIMESTAMPTZ 都使用8字节存储空间。例子如下:

INSERT INTO tz_test(ts, tstz) VALUES('2016-06-22 19:10:25', '2016-06-22 19:10:25' );
INSERT INTO tz_test(ts, tstz) VALUES(sysdate, sysdate );
INSERT INTO tz_test(ts, tstz) VALUES('2016-06-22 19:10:25-07', '2016-06-22 19:10:25-07' ); test=# select * from tz_test;
ts | tstz
---------------------+------------------------
2016-06-22 19:10:25 | 2016-06-22 19:10:25+08
2021-01-06 21:31:04 | 2021-01-06 21:31:04+08
2016-06-22 19:10:25 | 2016-06-23 10:10:25+08 test=# show timezone;
TimeZone
---------------
Asia/Shanghai

  

KingbaseES timestamp 和 timestamptz 差异比较的相关教程结束。

相关推荐:

Django 模板中单个模型对象与查询集的变量引用差异详解

本文解析Django模板中为何{{post.text}}在视图传入单个对象时失效,而{{posts.0.text}}却能工作——核心在于视图传递的是单个模型实例还是QuerySet查询集,二者在模板中的访问语法截然不同。 本文解析django模板中为何`{{post.text}}`在视图传入单个对象...

Django模板中单个模型实例与查询集的变量引用差异详解

本文解析Django模板中为何{{post.text}}在视图传入单个Post实例时失效,而{{posts.0.text}}却能工作——核心在于视图传递的是单个对象还是QuerySet,二者在模板中的访问语法完全不同。 本文解析django模板中为何`{{post.text}}`在视图传入单个pos...

为什么Python中的整数缓存机制会导致is判断差异_解析小整数对象池范围

小整数缓存范围是[-5,256],超出该范围的is比较不可预测;is仅用于身份判断,数值比较必须用==。 整数缓存只在[-5,256]范围内稳定生效,超出该范围的is结果不可预测,永远不该用于数值比较。 小整数缓存的精确边界是-5到256(含) CPython在启动时预分配并复用这262个整数对象,...