oracle中取某个字段最大值问题

2020-09-28 社会 78阅读

可以写一个function,把字母都过滤掉,只剩下数字,然后就可以根据数字排序了

CREATE OR REPLACE FUNCTION GETNUMBER(STR IN VARCHAR2) RETURN VARCHAR2 IS
  V_TEMP   VARCHAR2(200);
  V_RETURN VARCHAR2(200);
  IDX      NUMBER := 1;
BEGIN
  WHILE (IDX <= LENGTH(STR)) LOOP
    V_TEMP := SUBSTR(STR, IDX, 1);
    IF (ASCII(UPPER(V_TEMP)) >= 48 AND ASCII(UPPER(V_TEMP)) <= 57) THEN
      V_RETURN := V_RETURN || V_TEMP;
    END IF;
    IDX := IDX + 1;
  END LOOP;
  RETURN V_RETURN;
END GETNUMBER;
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com