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

汇总 单项汇总

相关推荐
IvorySQL6 小时前
PG 日报|新增 VACUUM 全维度统计信息补丁迭代
数据库·人工智能·postgresql·ivorysql
运维老郭7 小时前
PostgreSQL编译安装实战
运维·postgresql
白露与泡影8 小时前
Redis 缓存实战:雪崩、穿透、击穿一次讲透
数据库·redis·缓存
赵渝强老师9 小时前
【赵渝强老师】使用Oracle可传输的表空间迁移数据
数据库·oracle
Csvn9 小时前
Day 3:LIKE 与模式匹配 — 让查询学会"模糊搜索"
后端·sql
IpdataCloud10 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun31415911 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖12 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
蓝胖子酱13 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li13 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存