暂无图片
高斯数据库日期和时间类型区别?
我来答
分享
暂无图片 匿名用户
高斯数据库日期和时间类型区别?

pg数据库DATE类型,存储的是日期,TIMESTAMP(0)类型存储的是日期+时分秒

比如:2022-10-14,

如果存储为DATE类型的话,就是:2022-10-14;

如果存储为TIMESTAMP(0)类型的话,就是:2022-10-14 13:56:39


而高斯数据库,date类型和timestamp类型存储的都是日期+时间

比如:2022-10-14,

如果存储为DATE类型的话,就是:2022-10-14;

如果存储为TIMESTAMP(0)类型的话,就是:2022-10-14;

那请问各位专家:

既然对高斯数据库来说,这俩类型是一样的话,那么为什么还有两个类型,是不是有啥我不知道的不一样的地方啊?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
手机用户7717

pg数据库DATE类型,存储的是日期,TIMESTAMP(0)类型存储的是日期+时分秒

比如:2022-10-14,

如果存储为DATE类型的话,就是:2022-10-14;

如果存储为TIMESTAMP(0)类型的话,就是:2022-10-14 13:56:39


而高斯数据库,date类型和timestamp类型存储的都是日期+时间

比如:2022-10-14,

如果存储为DATE类型的话,就是:2022-10-14 13:56:39;

如果存储为TIMESTAMP(0)类型的话,就是:2022-10-14 13:56:39;

那请问各位专家:

既然对高斯数据库来说,这俩类型是一样的话,那么为什么还有两个类型,是不是有啥我不知道的不一样的地方啊?

暂无图片 评论
暂无图片 有用 0
打赏 0
DarkAthena

openGauss有多种数据库兼容性,其中的默认兼容性A,对应的就是兼容ORACLE,在ORACLE中,DATE类型是包含年月日时分秒的。
当你选择使用其他兼容模式,就可以看不到不同的效果。比如分别在A/B两种不同兼容模式下创建包含date类型的表,然后查看表的ddl

create table test (a date); select pg_catalog.pg_get_tabledef('test') ;

A兼容模式查询结果

CREATE TABLE test ( a timestamp(0) without time zone ) WITH (orientation=row, compression=no);

B兼容模式查询结果

CREATE TABLE test ( a date ) WITH (orientation=row, compression=no);
暂无图片 评论
暂无图片 有用 0
打赏 0
M
mtl

可以用官方给的介绍 亲测一下:

DATE                                                        

日期和时间。                

4字节(兼容模式A下存储空间大小为8字节)

TIMESTAMP[(p)] [WITHOUT TIME ZONE]

日期和时间。

p表示小数点后的精度,取值范围为0~6。

8字节

TIMESTAMP[(p)][WITH TIME ZONE]

日期和时间,带时区。TIMESTAMP的别名为TIMESTAMPTZ。

p表示小数点后的精度,取值范围为0~6。

8字节

--创建表。
openGauss=# CREATE TABLE date_type_tab(coll date);

--插入数据。
openGauss=# INSERT INTO date_type_tab VALUES (date '12-10-2010');

--查看数据。
openGauss=# SELECT * FROM date_type_tab;
coll
---------------------
2010-12-10 00:00:00
(1 row)



--创建表。
openGauss=# CREATE TABLE time_type_tab (da time without time zone ,dai time with time zone,dfgh timestamp without time zone,dfga timestamp with time zone, vbg smalldatetime);

--插入数据。
openGauss=# INSERT INTO time_type_tab VALUES ('21:21:21','21:21:21 pst','2010-12-12','2013-12-11 pst','2003-04-12 04:05:06');

--查看数据。
openGauss=# SELECT * FROM time_type_tab;
da | dai | dfgh | dfga | vbg
----------+-------------+---------------------+------------------------+---------------------
21:21:21 | 21:21:21-08 | 2010-12-12 00:00:00 | 2013-12-11 16:00:00+08 | 2003-04-12 04:05:00
(1 row)

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏