1.四舍五入保留两位小数
select cast(123456 as number(18,2)) as aa from dual;
2.生成数据字典
select m.*, decode(n.column_name, null, '', 'Y') 主键, a.nullable 非空
from (select t.table_name 表代码,
t2.comments 表名称,
t.column_name 字段代码,
t1.comments 字段名称,
t.data_type 字段类型,
decode(t.data_type, 'NUMBER', T.DATA_PRECISION, T.DATA_LENGTH) 字段长度,
T.DATA_SCALE 小数位数
from user_tab_cols t, user_col_comments t1, user_tab_comments t2
where t.table_name = t1.table_name
and t.column_name = t1.column_name
and t.table_name = t2.table_name) m
left join (select t3.table_name, t4.column_name
from user_constraints t3, user_cons_columns t4
where t3.constraint_name = t4.constraint_name
and t3.constraint_type = 'P') n on m.表代码 = n.table_name
and m.字段代码 = n.column_name
left join (select t5.table_name, t5.column_name, t5.nullable
from user_tab_columns t5) a on m.表代码 = a.table_name
and m.字段代码 = a.column_name
order by m.表代码, M.字段代码
3.多表数量查询
最后一张表不加 union all
select '表名',count(*) from 表名 union all