oracle 有没有一个函数能根据字段的值获取它的数据类型?比如tab表中有一字段name,它的值假如是'name1',能不能根据‘name1’判断出所在字段的数据类型???谢谢!!!

解决方案 »

  1.   

    字符串可以有多种字段类型tab.name%type
      

  2.   

    可以查询这个数据字典表
    select DATA_TYPE from user_tab_columns where TABLE_NAME=?? and column_name = ??
      

  3.   


    根据这个sql可以写个function了。create or replace function getColumnDataType(tablename varchar2, columnname varchar2) return varchar2
    is
    v_result varchar2(106);
    begin
    select DATA_TYPE into v_result from user_tab_columns where upper(TABLE_NAME)=upper(tablename) and upper(column_name) = upper(columnname);
    end;
    /这里只能查看自己的表。
      

  4.   


    不好意思,掉了返回值  return (v_result); 最好加上自己的notfound的异常处理。