查询Oracle数据库表字段类型sql语句

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:11:29
比如说表A中有id,age,name
我现在要用sql查询id,age,name列的类型

select column_name,data_type,data_length from all_tab_columns
where table_name='CODE_HPZL' and column_name in ('DM','NR')
表名跟列名都必须大写,你也可以将select后面改成*,查看所有的属性

  1. 这里涉及到两个系统视图的应用dba_tab_cols和user_tab_cols;

  2. dba_tab_cols包含所有用户下表字段信息;user_tab_cols包含当前用户下表信息;使用tba_tab_clos查询表字段类型需要指定owner(用户)

  3. 上述两个表中,table_name,column_name,data_type就可以满足需要查询表字段类型了,具体类型对应其他字段还有另外定义,比如varchar2,date,number还对应在data_length字段有值,说明类型其长度

  4. user_tab_columns和user_tab_cols都可以满足问题要求,但是两张视图还是有区别的,主要是包含字段的区别等,具体区别可以度娘哈,这里就不赘述。

select column_name,data_type,data_length from all_tab_columns where table_name='A' and column_name in ('id','age','name')

ORACLE下:
select * from user_tab_columns where table_name='ID';
--字段自己写; ID要大写。