zoukankan      html  css  js  c++  java
  • oracle中过滤中文字符或者汉字的函数

    CREATE OR REPLACE FUNCTION GET_CHINESE(P_NAME IN VARCHAR2) RETURN VARCHAR2 IS
     V_CODE        VARCHAR2(30000) := '';
     V_CHINESE     VARCHAR2(4000) := '';
     V_NON_CHINESE VARCHAR2(4000) := '';
     V_COMMA       PLS_INTEGER;
     V_CODE_Q      PLS_INTEGER;
     V_CODE_W      PLS_INTEGER;
    BEGIN
     IF P_NAME IS NOT NULL THEN
      SELECT REPLACE(SUBSTRB(DUMP(P_NAME, 1010), INSTRB(DUMP(P_NAME, 1010), 'ZHS16GBK:')), 'ZHS16GBK: ', '') INTO V_CODE FROM DUAL WHERE ROWNUM = 1;
      FOR I IN 1 .. LENGTH(P_NAME) LOOP
       IF LENGTHB(SUBSTR(P_NAME, I, 1)) = 2 THEN
        V_COMMA  := INSTRB(V_CODE, ',');
        V_CODE_Q := TO_NUMBER(SUBSTRB(V_CODE, 1, V_COMMA - 1));
        V_CODE_W := TO_NUMBER(SUBSTRB(V_CODE, V_COMMA + 1, ABS(INSTRB(V_CODE, ',', 1, 2) - V_COMMA - 1)));
        IF V_CODE_Q >= 176 AND V_CODE_Q <= 247 AND V_CODE_W >= 161 AND V_CODE_W <= 254 THEN
         V_CHINESE := V_CHINESE || SUBSTR(P_NAME, I, 1);
        ELSE
         V_NON_CHINESE := V_NON_CHINESE || SUBSTR(P_NAME, I, 1);
        END IF;
        V_CODE := LTRIM(V_CODE, '1234567890');
        V_CODE := LTRIM(V_CODE, ',');
       END IF;
       V_CODE := LTRIM(V_CODE, '1234567890');
       V_CODE := LTRIM(V_CODE, ',');
      END LOOP;
      /*IF P_CHINESE = '1' THEN
                RETURN V_CHINESE;
            ELSE
                RETURN V_NON_CHINESE;
            END IF;*/
      IF LENGTH(V_CHINESE) > 0 THEN
       RETURN V_CHINESE;
      ELSIF LENGTH(V_NON_CHINESE) > 0 THEN
       RETURN V_NON_CHINESE;
      ELSE
       RETURN '';
      END IF;
     ELSE
      RETURN '';
     END IF;
    END GET_CHINESE;

    使用方法:SELECT /*+ parallel(a,10)*/ A.*, ROWID FROM   ABC_TABLE A where length(GET_CHINESE(logic_phone))>0

  • 相关阅读:
    复选框和文字对齐解决方案
    封装getElementsByClassName()
    原生js运动框架
    如何防止鼠标移出移入子元素触发mouseout和mouseover事件
    回调函数
    经验
    sublime text3函数追踪:ctags配置
    笔记
    编程经验NO.1 from月光博客
    概念
  • 原文地址:https://www.cnblogs.com/nizuimeiabc1/p/5422787.html
Copyright © 2011-2022 走看看