zoukankan      html  css  js  c++  java
  • 关系型数据库跨时区查询简介

    以PostgreSQL为例

    PostgreSQL时间日期相关文档

    http://postgres.cn/docs/9.4/functions-datetime.html

    创建表

    -- 自增主键
    -- created与updated都是默认的
    
    create table student
    (
        id   serial   primary key,
        name           varchar(32),
        score           integer,
        created          timestamp with time zone default now(),
        updated          timestamp with time zone default now()
        
    );

    查看一下时区与“当前时间/日期等”

    或者可以:

    查询一下当前的日期:

    插入几条默认数据

    insert into student(name,score) values('whw1',88),('naruto1',99),('whw2',88),('naruto3',99),('whw4',88),('naruto5',99),('whw6',88),('naruto7',99)

    查看一下表结构及结果结果:

    可以看到,因为数据库选用的失去是UTC,所以插入数据时默认时间都是UTC时间,比当前的时间晚了8个小时。

    东八区的零点其实就是UTC时区的16点! 

         东8区的零点其实就是UTC时区的16点!

    所以:东八区的19号的0点到24点,实际上对应UTC时区的18号的16点到19号的16点!

    查询19日创建的数据

    修改其中几个时间到下午16点之后还用date函数直接查会有问题

     

    此时再用date函数直接查会有问题:

    date函数加八小时查询

    ~~~

    ~~~

  • 相关阅读:
    多项式牛顿迭代
    小明A+B
    分拆素数和
    选课时间
    今年暑假不AC
    Lowest Common Multiple Plus
    大小写转换问题(java程序)
    VS 中输入带空格的两个字符串
    整除的尾数
    不要62
  • 原文地址:https://www.cnblogs.com/paulwhw/p/15708344.html
Copyright © 2011-2022 走看看