PostgreSQL小总结 发表于 2021-11-05 | 分类于 ---PostgreSQL | 一些常用的123456789101112131415161718192021222324252627282930313233343536373839-- 2021-10-17 10:56:35-- 查询版本号select version();-- 2021-10-18 18:21:08-- 显示最大连接数show max_connections-- 2021-10-21 10:09:43-- 查看下一个序列号-- '%s_id_seq' => %s 表名SELECT nextval('t_cloak_user_id_seq');SELECT nextval('t_task_center_log_id_seq');-- 查看事务状态SHOW default_transaction_isolation;SHOW transaction_isolation;-- 2021-11-04 11:54:33-- 测试 PostgreSQL 列计算select 1/4 AS value;-- 0select 11/4 AS value;-- 2select ROUND(1::numeric/4::numeric,2) AS value;-- 0.25 => 1/4 保留两位小数-- 例如(金额 money:元 -> 万 保留一位小数):SELECT ROUND(money::numeric/10000::numeric,1) feature_value FROM table ...-- 2021-12-16 16:45:46-- 值替换-- [1] string 类型(把表 table_01 中varchar类型字段 rule_json_data 的值 aaa 全部替换为 bbb)UPDATE table_01 SET rule_json_data=replace(rule_json_data,'aaa','bbb')-- [2] json 类型(把表 table_01 中json类型字段 rule_json_data 的值 aaa 全部替换为 bbb。先把字段::text转为字符串,替换后的结果::json转为json类型赋值给rule_json_data字段)UPDATE table_01SET rule_json_data=replace(rule_json_data::text,'aaa','bbb')::json-- [3] 转义符。在要替换的字符串前面加大写的 E,在内容中'单引号前面加 \ 反斜杠-- 把 scr.region_type='STORE' 修改为 scr.region_type='BRANCH'UPDATE t_sc_feature_template_rule SET rule_json_data=replace(rule_json_data::text,E'scr.region_type=\'STORE\'',E'scr.region_type=\'BRANCH\'')::json;-- 2021-12-27 17:19:04-- 默认值(查询 end_date = null 的时候,使用默认值 '2021-12-31')SELECT id,start_date,COALESCE(end_date,'2021-12-31') FROM t_store_log WHERE id=323 建表 SQL 12345678910111213141516171819CREATE TABLE "public"."t_task_center_main" ( "id" SERIAL NOT NULL, "url_json" json, "creator_id" int4, "rel_scorecard_id" int4, "finish_value" numeric(10,4), "is_tree_leade" bool DEFAULT false, "content" text COLLATE "pg_catalog"."default", "evaluation" varchar(255) COLLATE "pg_catalog"."default", "date_created" timestamp(6), "last_modified" timestamp(6), CONSTRAINT "t_task_center_main_pkey" PRIMARY KEY ("id"));COMMENT ON COLUMN "public"."t_task_center_main"."id" IS '主键id';COMMENT ON COLUMN "public"."t_task_center_main"."date_created" IS '创建时间';COMMENT ON COLUMN "public"."t_task_center_main"."last_modified" IS '修改时间';COMMENT ON TABLE "public"."t_task_center_main" IS '主任务表';