• ORACLE long类型转字符 LONG_TO_CHAR()


     ORACLE 11G   long类型转字符 ,

    自定义函数: CUX_LONG_TO_CHAR() 

    create   function cux_long_to_char(p_additional_where in varchar2,
                                p_table_name       in varchar2,
                                p_long_column      in varchar2) return varchar2 is
      
        v_sql  varchar2(2000);
        v_clob clob;
      
        v_clob_to_char varchar2(2000);
      
      begin
      
        v_sql := 'select ' || p_long_column || ' from ' || p_table_name ||
                 ' where 1=1 ' || ' and ' || p_additional_where;
      
        v_sql := 'declare 
      begin 
        for dat in (' || v_sql || ') loop
          :v_clob := dat.' || p_long_column || ';
          end loop;
          end;';
      
        --v_clob := v_sql;
        --execute immediate v_sql into v_clob;
        execute immediate v_sql
          using out v_clob;
      
        v_clob_to_char := to_char(v_clob);
        v_clob_to_char := trim(v_clob_to_char);
      
      
        return v_clob_to_char;
      
      exception
        when others then
          return null;
      end cux_long_to_char;
    

      测试例子:

    创建索引:
    CREATE INDEX CUX.CUX_PROJECT_REQUIREMENT_TB_N3 ON CUX.CUX_PROJECT_REQUIREMENT_TB (
    ORGANIZATION_ID , ITEM_CODE, PROJECT_CODE  DESC
    ) LOGGING TABLESPACE APPS_TS_TX_DATA;
    
    select column_expression ,
      CUX_long_TO_CHAR(p_additional_where =>' index_name =''CUX_PROJECT_REQUIREMENT_TB_N3'' and column_position = 3',
                                p_table_name   =>'DBA_IND_EXPRESSIONS',
                                p_long_column  =>'COLUMN_EXPRESSION') as column_name 
     from dba_ind_expressions
     where index_name ='CUX_PROJECT_REQUIREMENT_TB_N3'
      and column_position = 3 ;
      
      

    把 DBA_IND_EXPRESSIONS.COLUMN_EXPRESSION 的值显示出来。   

  • 相关阅读:
    在VMWare的虚拟机中设置共享文件夹(Linux-Ubuntu系统)
    得到cell视图
    推送
    常用框架
    截屏
    多线程枷锁
    java与IOS的交互
    缓存机制
    iOS数据库操作(使用FMDB)
    插入排序
  • 原文地址:https://www.cnblogs.com/samrv/p/16626427.html
Copyright © 2020-2023  润新知