达梦 DM 数据库

在达梦数据库中,如果字段定义的是 datetime 类型,那么存入的时间默认会带有毫秒精度。如果你想要去掉毫秒精度,可以使用 DATE_FORMAT 函数将时间格式化为不带毫秒的格式。


达梦数据库 varchar varchar2 都是可以用的

char(2) 是定长字符串, 存1会用空格补1位

-- 日期格式化 如下都可以
SELECT DATE_FORMAT(GETDATE(), '%Y-%m-%d %H:%i:%s');
SELECT TO_CHAR(GETDATE(), 'YYYY-MM-DD HH24:MI:SS') AS current_datetime FROM dual;


-- 2023-12-11
SELECT CURDATE();

-- 2023-12-11 09:22:24
SELECT SYSDATE();

-- 2023-12-11 11:09:53.136527
SELECT GETDATE();

-- 当前日期+1 -1天
SELECT DATEADD(DAY, -1, '2000-01-12') FROM DUAL;
SELECT DATEADD(DAY, 1, CURDATE()) FROM DUAL;

-- date类型/timestamp类型 时间字段 直接 >= CURDATE() 或'201-10-21' 都是ok的
SELECT * from test where birthdate >= CURDATE();
SELECT * from test where birthdate1 >= '201-10-21';


SELECT TO_CHAR(ADD_MONTHS(CURRENT_DATE, -0), 'YYYY-MM') AS last_month FROM dual
UNION ALL
SELECT TO_CHAR(ADD_MONTHS(CURRENT_DATE, -1), 'YYYY-MM') AS last_month FROM dual
UNION ALL
SELECT TO_CHAR(ADD_MONTHS(CURRENT_DATE, -2), 'YYYY-MM') AS last_month FROM dual

DATE(年月日)  DATETIME(年月日时分秒)  TIMESTAMP(年月日时分秒 6位毫秒) 类型

char tinyint

在DM数据库中,主键自增有两种方法实现,一种是自增列AUTO_INCREMENT,另一种是通过类似oracle的序列实现自增

CREATE TABLE student (
    id bigint NOT NULL AUTO_INCREMENT COMMENT '学生ID',
    name VARCHAR(20),
    PRIMARY KEY (id)
);

在达梦数据库中,"ID" BIGINT IDENTITY(1, 1) 是一个字段定义。

  • "ID" 是该字段的名称。
  • BIGINT 是该字段的数据类型,表示大整数类型。
  • IDENTITY(1, 1) 是该字段的标识属性,用于设置自增起始值和步长。

具体来说,IDENTITY(1, 1) 表示从1开始自增,每次增加1。这意味着当你插入一条新的记录时,ID字段会自动被赋予一个递增的值。

例如,如果你插入了两条记录,它们的ID字段将分别为1和2。

你可能感兴趣的:(数据库)