pg小操作
PostgreSQL之日期字段统一加一天
提出问题
如何对数据库某一日期字段这一列统一加一天?已经日期操作的复习????
解决问题
pm_milestone_sign_in是一张数据库表,有个日期字段sign_in_time
公司的测试人员问我,由于急,就随便写了一下,如下:
UPDATE pm_milestone_sign_in SET sign_in_time = (sign_in_time + interval '1 D')
WHERE ID IN(
select ID from pm_milestone_sign_in psi
)
1234
晚上回来,想了想,脸都红了,就稍微优化下:
UPDATE pm_milestone_sign_in SET sign_in_time = (sign_in_time + interval '1 D')
WHERE 1 = 1;
12
解释:如果是
加一月,可以写 interval '1 M'
加一年,可以写 interval '1 Y',
12
其他类似,interval 可以不写,其值可以是,具体看下面:
Abbreviation Meaning Y Years M Months (in the date part) W Weeks D Days H Hours M Minutes (in the time part) S Seconds
--数据库、模式、表名 "identities"."Test"."tab_test"
--修改字段名
ALTER TABLE "identities"."Test"."tab_test" RENAME "u_name" to realname ;
--添加字段
ALTER TABLE "identities"."Test"."tab_test" ADD COLUMN updcontent VARCHAR(50);
--添加字段 给默认值
ALTER TABLE "identities"."Test"."tab_test" ADD COLUMN utype INT DEFAULT(1);
--字段注解
COMMENT ON COLUMN "identities"."Test"."tab_test"."utype" IS '类型 1为普通 2为高级';
--修改字段类型
ALTER TABLE "identities"."Test"."tab_test" alter COLUMN utype type VARCHAR(50) ;
--删除非空约束
ALTER TABLE "identities"."Test"."tab_test" ALTER COLUMN realname drop not NULL;
--添加主键
ALTER TABLE "identities"."Test"."tab_test" ADD PRIMARY KEY ("id");