KingbaseES timestamp 和 timestamptz 差异比较

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

  

 

posted @   KINGBASE研究院  阅读(530)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示