oracle中怎么实现数据反转!谢谢了啊

解决方案 »

  1.   

    什么叫 [数据反转]select -fd01,取负值算不算反转?.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  2.   

    自己写函数CREATE OR REPLACE FUNCTION f_reverse_str(p_num NUMBER) RETURN NUMBER AS
      v_num    VARCHAR2(20);
      v_result VARCHAR2(20);
      v_count  NUMBER;
    BEGIN
      v_num   := to_char(p_num);
      v_count := length(v_num);
      FOR i IN 0 .. v_count - 1
      LOOP
        v_result := v_result || substr(v_num, v_count - i, 1);
      END LOOP;
      RETURN to_number(v_result);
    END;
      

  3.   

    1.Oracle中已经提供了这个函数:REVERSE
    2.自己写个:
    CREATE OR REPLACE PROCEDURE REVERSE(
                                              in_string  IN  VARCHAR2 DEFAULT NULL
                                             ,out_string OUT VARCHAR2
                                              )
    IS
      wk_string VARCHAR2(2);
      i         NUMBER;
    BEGIN  i := 0 ;
      LOOP
        i := i + 1;
        wk_string := SUBSTR(in_string,i,1);
        out_string := wk_string || out_string ;
      EXIT WHEN i = LENGTH(in_string);
      END LOOP;
    END;