PostgreSQL高级sql积累

1:----查询postgresql数据中系统表与自己建立表结构做了个对比

select cl.relname,att.attname,att.atttypid,f.* from pg_class cl

LEFT JOIN pg_attribute att on att.attrelid = cl.oid

LEFT JOIN td_f_field_info f on f.party_table_name=cl.relname and f.field_name=att.attname

-- LEFT JOIN pg_type t on

where cl.relname like 'dpm%'

and att.attname not like '........pg%'

and cl.relname not like '%pkey%'

and f.id is null

and att.attnum>0

ORDER BY cl.relname;

2:------

SELECT f.* from td_f_step_table_rel r

LEFT JOIN td_f_table_info t on r.table_id=t.id

LEFT JOIN td_f_field_info f on t.party_table_name=f.party_table_name

where r.flow_step_id='2' and r.flow_sub_step_id='4' ORDER BY t.party_table_name;

3:将表dpm_5_base_person中的数据 循环添加进 td_f_field_info

INSERT into td_f_field_info(id,party_table_name,field_name,data_type,description )

(select uuid_generate_v1(),cl.relname,att.attname,t.typname,col_description(att.attrelid,att.attnum) from pg_class cl

LEFT JOIN pg_attribute att on att.attrelid = cl.oid

LEFT JOIN td_f_field_info f on f.party_table_name=cl.relname and f.field_name=att.attname

LEFT JOIN pg_type t on att.atttypid=t.oid

where cl.relname like 'dpm_5_base_person'

and att.attname not like '........pg%'

and cl.relname not like '%pkey%'

and f.id is null

and att.attnum>0

ORDER BY cl.relname) ;

4:-- 将表字段存在但是field_info中不存在的字段插入到field_info中

INSERT into td_f_field_info(id,party_table_name,field_name,data_type,description, is_null,max_length )

(select uuid_generate_v1(),cl.relname,att.attname,t.typname,col_description(att.attrelid,att.attnum),

(case att.attnotnull when 't' then '0' else '1' end),

(CASE WHEN att.atttypmod >=4 THEN att.atttypmod- 4 WHEN att.atttypmod

from pg_class cl

LEFT JOIN pg_attribute att on att.attrelid = cl.oid

LEFT JOIN td_f_field_info f on f.party_table_name=cl.relname and f.field_name=att.attname

LEFT JOIN pg_type t on att.atttypid=t.oid

where cl.relname like 'dpm_2_6_inspect_option%'

and att.attname not like '........pg%'

and cl.relname not like '%pkey%'

and f.id is null

and att.attnum>0

ORDER BY cl.relname) ;

5:postgreSql中char类型的数据,如果长度设为8 不足8个字符的字符串会自动补空格 比如值为'123' 存到数据库里实际为'123 '

6:INSERT INTO "public"."td_f_approve_defined" ("task_id", "step_id", "step_name", "sub_step_id", "sub_step_name", "approve_role", "update_date", "update_by", "level", "version", "person_name", "create_by", "create_date", "del_flag") VALUES ('2', '1', '申请入党', '2', '党组织谈话', '4', '2018-05-07 13:50:39', '11', '1', '1', '11', '1', '2018-05-07 13:51:00', '0');

添加td_f_approval_define 表中数据

7:select * from tf_f_org where length(code)=18

select * from tf_f_org where length(code)=24 and org_name like '%海洋%'

--梁山县

select * from tf_f_org where length(code)=24 and code LIKE '000002000008000011%'

--中共青岛经济技术开发区工作委员会

select * from tf_f_org where length(code)=24 and parent_id='d367736e-57de-11e7-b7aa-0050569a68e4';

SELECT * FROM "public"."tf_f_org" WHERE "org_name" LIKE '%潍坊滨海经济技术开发区%' LIMIT 1000 OFFSET 0

汇总 单项汇总

相关推荐
LaughingZhu4 小时前
Product Hunt 每日热榜 | 2026-02-14
数据库·人工智能·经验分享·神经网络·搜索引擎·chatgpt
软件派5 小时前
近两年国外主流数据库深度解析:从技术特性到场景适配
数据库
Elastic 中国社区官方博客5 小时前
DevRel 通讯 — 2026 年 2 月
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·jina
学到头秃的suhian6 小时前
Redis消息队列
数据库·redis·缓存
野犬寒鸦6 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习
爆米花byh7 小时前
在RockyLinux9环境的Doris单机版安装
linux·数据库·database
2401_848009727 小时前
Redis进阶学习
数据库·redis·学习·缓存
卓怡学长8 小时前
m225在线房屋租赁和电子签约系统的设计与实现
java·数据库·spring·tomcat·maven·intellij-idea
一生有你20208 小时前
powerdesigner使用逆向工程生成物理模型
数据库
zcn1268 小时前
时间条件高效用法
数据库·sql优化改写