达梦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

结束

上一篇:教你一招在 Windows、Linux和Mac中检查和清除ARP缓存


下一篇:mysql之DATETIME、DATE和TIMESTAMP简单了解