请问大家oracle怎样查询某一列的数据,前提是不知道该列的字段名,只知道是第几列?

解决方案 »

  1.   

    --可以用数据字典去创建一个函数(或存储过程):
    --数据字典查询语句如下:
    select column_id, 
    column_name 
    from user_tab_columns 
    where table_name = 'EMP' 
    order by column_id;
      

  2.   

    declare
      v_cn varchar2(20);
      v_sql varchar2(1000);
    begin
        select 
           column_name into v_cn
        from user_tab_columns t
        where t.table_name = 'EMP'
        and  t.COLUMN_ID=2;
        
        v_sql:='select '||v_cn||' from emp';
        execute immediate v_sql;
            
        dbms_output.put_line('v_cn:'||v_cn);
        
    end;
    /
      

  3.   

    COLUMN_ID NUMBER   Sequence number of the column as created 这个COLUMN_ID和楼主说的“第几列”应该不是一个概念吧
      

  4.   

    select * from user_tab_cols t
    where t.table_name = 'SALES'
    and  t.COLUMN_ID=2;