zoukankan      html  css  js  c++  java
  • 查询表名及列名长度超过一定长度的SQL

    apple=# select * from (select a.relname, char_length(a.relname) as tb_name_length, b.attname, char_length(b.attname) as att_name_length, d.typname, b.attlen, b.attnum from pg_class a, pg_attribute b ,pg_tables c , pg_type d where b.attrelid = a.oid and b.attnum > 0  and c.schemaname = 'public' and a.relname = c.tablename and b.atttypid = d.oid ) as d where d.tb_name_length > 10 or att_name_length > 10;
            relname        | tb_name_length |      attname       | att_name_length |  typname  | attlen | attnum
    -----------------------+----------------+--------------------+-----------------+-----------+--------+--------
     test_0001              |              8 | datatypename       |              12 | varchar   |     -1 |      2
     test_0001              |              8 | startuptime        |              11 | timestamp |      8 |      5
    
    

    暂时这样写,后续修改从pg_namespace获取schema为public的表:

    select * from (select a.relname, char_length(a.relname) as tb_name_length, b.attname, char_length(b.attname) as att_name_length, d.typname, b.attlen, b.attnum from pg_class a, pg_attribute b ,pg_namespace c , pg_type d where b.attrelid = a.oid and b.attnum > 0  and c.nspname = 'public' and a.relnamespace = c.oid and b.atttypid = d.oid ) as d where d.tb_name_length > 10 or att_name_length > 10;
    
  • 相关阅读:
    freemarker报错之五
    freemarker处理空值
    freemarker报错之四
    freemarker之include指令
    freemarker之list
    freemarker报错之三
    freemarker中的if...elseif...else语句
    freemarker获取封装类中对象的属性
    单块读和多块读操作汇总
    freemarker报错之二
  • 原文地址:https://www.cnblogs.com/kuang17/p/10064511.html
Copyright © 2011-2022 走看看