经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » PostgreSQL » 查看文章
PostgreSQL TIMESTAMP类型 时间戳
来源:cnblogs  作者:低调码农哥!  时间:2019/7/4 8:45:48  对本文有异议

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

TIMESTAMP 数据类型可以同时存储日期和时间,但它不存储时区。这意味着,当修改了数据库服务器所在的时区时,它里面存储的值不会改变。

TIMESTAMPTZ 数据类型在存储日期和时间的同时还能正确处理时区。PostgreSQL 使用 UTC 值来存储 TIMESTAMPTZ 数据。在向 TIMESTAMPTZ 字段插入值的时候,PostgreSQL 会自动将值转换成 UTC 值,并保存到表里。当从一个 TIMESTAMPTZ 字段查询数据的时候,PostgreSQL 会把存储在其中的 UTC 值转换成数据库服务器、用户或当前连接所在的时区。

TIMESTAMP  TIMESTAMPTZ 都使用8字节存储空间。如下所示:

  1. SELECT
  2. typname,
  3. typlen
  4. FROM
  5. pg_type
  6. WHERE
  7. typname ~ '^timestamp';
  8. typname | typlen
  9. -------------+--------
  10. timestamp | 8
  11. timestamptz | 8
  12. (2 rows)

重要提示,TIMESTAMPTZ 并不会存储时区,它只是了 UTC 值,然后会和当前时区进行转换。

时间戳示例

首先,创建一个含有 TIMESTAMP 和 TIMESTAMPTZ 的表:

  1. CREATE TABLE timestamp_demo (ts TIMESTAMP, tstz TIMESTAMPTZ);

接下来,将数据库服务器的时区设置为 America/Los_Angeles

  1. SET timezone = 'America/Los_Angeles';

顺便说一句,可以使用 SHOW TIMEZONE 语句来显示当前时区:

  1. SHOW TIMEZONE;

然后,插入一些示例数据:

  1. INSERT INTO timestamp_demo (ts, tstz)
  2. VALUES
  3. (
  4. '2016-06-22 19:10:25-07',
  5. '2016-06-22 19:10:25-07'
  6. );

最后,查询:

  1. SELECT
  2. ts
  3. FROM
  4. timestampz_demo;
  5. ts | tstz
  6. ---------------------+------------------------
  7. 2016-06-22 19:10:25 | 2016-06-22 19:10:25-07
  8. (1 row)

再把时区设置为 America/New_York

  1. SET timezone = 'America/New_York';

再查询一次,结果如下:

  1. ts | tstz
  2. ---------------------+------------------------
  3. 2016-06-22 19:10:25 | 2016-06-22 22:10:25-04
  4. (1 row)

TIMESTAMP 类型字段的值不变,而 TIMESTAMPTZ 类型字段的值变成了当前时区下的时间。

原文:https://pg.sjk66.com/postgresql/timestamp

原文链接:http://www.cnblogs.com/personblog/p/11126299.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号