虚谷数据库的时间类型字段

虚谷数据库中时间数据类型可分为:日期、时间、日期时间、时间戳、时间间隔。
详细资料请参考虚谷数据库官网文档:https://docs.xugudb.com/
以下是虚谷数据库支持的时间类型字段:

 一览表:

字段类型数据格式举例
DATEYYYY-MM-DD2024-05-20
TIMEHH24:MI:SS10:00:00.123
TIME WITH TIME ZONEHH24:MI:SS +UTC10:00:00.123 +00:00
DATETIMEYYYY-MM-DD HH24:MI:SS2024-05-20 10:00:00.123
DATETIME WITH TIME ZONEYYYY-MM-DD HH24:MI:SS +UTC2024-05-20 10:00:00.123 +08:00
TIMESTAMP(size)YYYY-MM-DD HH24:MI:SS2024-05-20 10:00:00.123
TIMESTAMP(size) WITH TIME ZONEYYYY-MM-DD HH24:MI:SS +UTC2024-05-20 10:00:00.123 +08:00
INTERVAL

一、日期类型

1.DATE

数据格式为:  YYYY-MM-DD
表示范围为:公元前'9999-12-31 BC' 到 '0002-01-01 BC'
                     公元后'0001-01-01 AD' 到 '9999-12-31 AD'
                     省略字母标识,默认为公元后AD。

create table tab1 (col1 int,col2 date);
insert into tab1 values (1,'2024-05-01 AD');
insert into tab1 values (2,'2024-05-02');
insert into tab1 values (3,'2024-05-03 BC');
select * from tab1;

615d82533a2e45f59b20d4a7cb982db6.png

二、时间类型

1.TIME

数据格式为:HH24:MI:SS
表示范围为:'00:00:00' 到 '23:59:59' 秒值存储标度为3.

create table tab2 (col1 int,col2 TIME);
insert into tab2 values (1,'00:00:01');
insert into tab2 values (2,'00:00:02.34');
insert into tab2 values (3,'00:00:03.345');
insert into tab2 values (4,'00:00:04.3456');
select * from tab2;

04937949fe2f41d9ab2c9b2af33676a3.png

 2.TIME WITH TIME ZONE

数据格式为: HH24:MI:SS +UTC
表示范围为:'00:00:00.000' 到 '23:59:59.999' 包含时区 (UTC信息)
                      时区的取值范围为:-12:59 + 14:59
这里注意col1=1的显示结果,不写时区信息默认是北京时区,经测试更改系统默认时区,数据库时区后重启依然是北京时区。

create table tab3 (col1 int,col2 TIME WITH TIME ZONE);
insert into tab3 values (1,'00:00:01');
insert into tab3 values (2,'00:00:02.34 +00:00');
insert into tab3 values (3,'00:00:03.345 +08:00');
insert into tab3 values (4,'00:00:04.3456 +10:00');
select * from tab3;

292e13106299499e9d44186a5efe83c6.png

三、日期时间类型

1.DATETIME

数据格式为:YYYY-MM-DD HH24:MI:SS
表示范围为:公元前'9999-12-31 23:59:59.999 BC' 到 '0002-01-01 00:00:00.000 BC'
                      公元后'0001-01-01 00:00:00.000 AD' 到 '9999-12-31 23:59:59.999 AD'
                      省略字母标识,默认为公元后AD。秒值存储精度为小数点后三位

create table tab4 (col1 int,col2 DATETIME);
insert into tab4 values (1,'2024-05-20 01:02:03.456');
insert into tab4 values (2,'2024-05-21 01:02:03.4567');
insert into tab4 values (3,'2024-05-22 01:02:03.456 AD');
insert into tab4 values (4,'2024-05-23 01:02:03.456 BC');
select * from tab4;

d8c9f29a333e4d3dba2cd7d8a238d26d.png

2.DATETIME WITH TIME ZONE

数据格式为:YYYY-MM-DD HH24:MI:SS +UTC
表示范围为:公元前'9999-12-31 23:59:59.999 BC' 到 '0002-01-01 00:00:00.000 BC'
                     公元后'0001-01-01 00:00:00.000 AD' 到 '9999-12-31 23:59:59.999 AD'
                     其中时区的取值范围为:-12:59 +14:59。默认为北京时区。
                     省略字母标识,默认为公元后AD。省略秒值存储精度为小数点后三位

create table tab5 (col1 int,col2 DATETIME WITH TIME ZONE);
insert into tab5 values (1,'2024-05-20 01:02:03');
insert into tab5 values (2,'2024-05-21 01:02:03.456 +00:00');
insert into tab5 values (3,'2024-05-22 01:02:03.456 +08:00 AD');
insert into tab5 values (4,'2024-05-23 01:02:03.456 +00:00 BC');
select * from tab5;

87acfce525794099951883b710458486.png

四、时间戳类型

1.TIMESTAMP(size)

数据格式为:YYYY-MM-DD HH24:MI:SS
表示范围为:公元前'9999-12-31 23:59:59.999 BC' 到 '0002-01-01 00:00:00.000 BC'
                      公元后'0001-01-01 00:00:00.000 AD' 到 '9999-12-31 23:59:59.999 AD'
                      省略字母标识,默认为公元后AD。
                      SIZE为存储秒值小数部分位数,默认为 3,可选值为0-6。
                      注:数据库只支持到秒值小数精度后三位。。实际有效为0-3.

使用方法与DATETIME日期时间类型大致相同,只不过DATETIME默认秒数后面标度为3,TIMESTAMP(0),TIMESTAMP(1),TIMESTAMP(2),TIMESTAMP(3),为可选。

create table tab6 (col1 int,col2 TIMESTAMP(2),col3 TIMESTAMP(3),col4 TIMESTAMP(6));
insert into tab6 values (1,'2024-05-21 01:02:03.456 AD','2024-05-21 01:02:03.456 AD','2024-05-21 01:02:03.456 AD');
select * from tab6;

6d86cc24387449589f3b564058a0d856.png​ 

2.TIMESTAMP(size) WITH TIME ZONE

数据格式为:YYYY-MM-DD HH24:MI:SS +UTC
表示范围为:公元前'9999-12-31 23:59:59.999 +UTC BC' 到 '0002-01-01 00:00:00.000 +UTC BC'
                      公元后'0001-01-01 00:00:00.000 +UTC AD' 到 '9999-12-31 23:59:59.999 +UTC AD'
                      默认为北京时区。默认为公元后AD.小数存储到3个小数位。

 使用方法和特点与TIMESTAMP(size)相同,只是多了时区信息UTC。

五、时间间隔类型

 1.INTERVAL

时间间隔类型,该数据类型用来存储两个时间戳之间的时间间隔,也就是表示一段时间。
有以下几种类型:
INTERVAL YEAR(size)                
INTERVAL MONTH(size)                     
INTERVAL DAY(size)                     
INTERVAL HOUR(size)                     
INTERVAL MINUTE(size)                 
INTERVAL SECOND(a,b)                 
INTERVAL YEAR(size) TO MONTH         
INTERVAL DAY(size) TO HOUR         
INTERVAL DAY(size) TO MINUTE         
INTERVAL DAY(size) TO SECOND(size)         
INTERVAL HOUR(size) TO MINUTE     
INTERVAL HOUR(size) TO SECOND(size)     
INTERVAL MINUTE(size) TO SECOND(size) 

此数据类型应用场景不常见,不做详细说明。参考详细内容或有业务场景用到可以咨询虚谷技术支持。
以下是简单用法的示例:

create table tab7 (col1 int,col2 INTERVAL YEAR(2),col3 INTERVAL YEAR(2) TO MONTH);
insert into tab7 values (1,INTERVAL '3' YEAR,INTERVAL '2-6' YEAR TO MONTH);
select * from tab7;

15a724467a5145fdad6c676df21ff2fd.png

 col2和col3分别表示为两端时间,第一段时间为3年,第二段时间为2年6个月。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值