达梦7 数据库日期时间数据类型相关格式转换
作者:互联网
达梦7 数据库日期时间数据类型相关格式转换
类型名 | 类型描述 |
---|---|
TIMESTAMP(P) | 时间戳数据类型,年月日时分秒字段,精度 P 指定了秒的精度 |
DATETIME | 存储日期和时间,其存储空间是固定的 8个字节 ,默认的数据格式是yyyy-MM-dd hh:mm:ss.nnn |
VARCHAR(N) | 最大字符串长度为 N 的可变长度字符串,N<=8188 |
INTEGER/INT | 精度为 10,刻度为 0 的有符号精确数字,取值范围-2[31]…2[31]-1 |
达梦数据库新建如下表:
列名 | 类型 | 值 | 说明 |
---|---|---|---|
DTID | INT | 1642070485 | |
LOGTIME | VARCHAR | 2020-12-24 11:14:31 | |
CRETIME | DATETIME | 2020-12-24 11:14:31.000000 | |
UPDTIME | TIMESTAMP | 2020-12-24 11:14:31.580739 |
#建表
CREATE TABLE "DM_TSET"."TEST_DT"
(
"DTID" INT,
"LOGTIME" VARCHAR(50),
"CRETIME" DATETIME,
"UPDTIME" TIMESTAMP(6)
) ;
#插值
insert into "DM_TSET"."TEST_DT"("DTID", "LOGTIME", "CRETIME", "UPDTIME")
VALUES(1642070485, "2020-12-24 11:14:31","2020-12-24 11:14:31.000000", "2020-12-24 11:14:31.580739";
#查询查询时间转Unix时间戳秒级
select DATEDIFF(S,DATE'1970-01-01 08:00:00',LOGTIME) from DM_TSET.TEST_DT;
select DATEDIFF(S,DATE'1970-01-01 08:00:00',CRETIME) from DM_TSET.TEST_DT;
select DATEDIFF(S,DATE'1970-01-01 08:00:00',CRETIME) from DM_TSET.TEST_DT;
#返回
1608779671(类型INT)
#查询Unix时间戳(int)转时间
select DATEADD(SS,TO_NUMBER(DTID),DATE '1970-01-01 08:00:00') from DM_TSET.TEST_DT;
#返回
2022-01-13 18:41:25.000000(TIMESTAMP)
#查询时间转Unix时间戳毫秒级
select DATEDIFF(MS,DATE'1970-01-01 08:00:00',UPDTIME) from DM_TSET.TEST_DT;
#返回
数据溢出(o(╥﹏╥)o)
表达式 DATEDIFF(timeinterval,date1,date2)
允许数据类型: timeinterval 表示相隔时间的类型,代码为:年份 yy、yyyy 季度 qq、q;月份 mm、m;每年的某一日 dy、y;日期 dd、d;星期 wk、ww;工作日 dw;小时 hh;分钟 mi、n;秒 ss、s;毫秒 ms
结束
标签:00,01,TSET,数据库,数据类型,DM,TEST,DT,达梦 来源: https://www.cnblogs.com/whendone/p/15799649.html