当输入20个字符以内的数据时就自动输出时是调转的效果!
例子:123...会变成...321或者你好会变成好你.
这样的储存过程怎样写?

解决方案 »

  1.   

    CREATE OR REPLACE FUNCTION f_back_str(in_str IN VARCHAR2)
    RETURN VARCHAR2
    IS
      v_back_str VARCHAR2(500);
      v_mid_str  VARCHAR2(20);
      v_count NUMBER(10);
    BEGIN
      v_count:=length(in_str);
      IF v_count<20 THEN
        FOR i IN 1..v_count LOOP
          v_back_str:=substr(in_str,i,1) || v_back_str;
        END LOOP;
      ELSE
        v_back_str:=in_str;
      END IF;
      RETURN v_back_str;
    END f_back_str;
    /SQL> SELECT f_back_str('csdn程序员论坛') FROM dual;F_BACK_STR('CSDN程序员论坛')
    --------------------------------------------------------------------------------
    坛论员序程ndsc