select a,b,c,d from yourtable 改为
select convert(char(64),a)+convert(char(64),b)+convert(char(64),c)+convert(char(64),d) from yourtable

解决方案 »

  1.   

    当输出参数为数组类型时,怎么写?我写:
    PROCEDURE PROC(para1 IN VARCHAR2,para2 OUT my_arr)
    IS
    BEGIN
    declare
     type my_arr is varray(300) of varchar2(12);
    begin
    null;
    end; END;
    总是说“my_arr”未定义
      

  2.   

    select to_char(a,'99999999')||to_char(b,'99999999') ||to_char(c,'99999999')||to_char(d,'99999999') from yourtable
      

  3.   

    我写
    select to_char(table.a,'99999999')||to_char(table.b,'99999999')||to_char(table.c,'99999999')||to_char(table.d,'99999999')  
    from table报错:table.a无效
      

  4.   

    a,b,c,d是我虚拟的视图的字段名
      

  5.   

    to_char只能将数值型转换成字符型谁知道怎么做啊????
      

  6.   

    假设table有a,b,c,d四个字段组成
    select lpad(table.a,10)||lpad(table.b,10)||lpad(table.c,10)||lpad(table.d,10)
    from table;
      

  7.   

    再问一句,这些结果能在存储过程中以varchar数组返回么
    那个out后面怎么写???
      

  8.   

    我写:
    PROCEDURE PROC(para1 IN VARCHAR2,para2 OUT my_arr)
    IS
    BEGIN
    declare
     type my_arr is varray(300) of varchar2(12);
    begin
    null;
    end; END;
    你把这段写成package,out 部分在宣言部定义(
     type my_arr is varray(300) IS TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER;
    ),
    在本体部写连接过程
    这种方法你所一个试验
    偶以前就是用这种存储过程作的