018-mysql 사용자 정의 정규 교체 함수

929 단어 MySQL
문서 목록
4
  • mysql 사용자 정의 정규 교체 함수
  • mysql 사용자 정의 정규 교체 함수
    사용자 정의 정규 대체 함수regexpreplace(source,pattern,replace)
    주의: 이 사용자 정의 함수 일치 교체 시 대소문자 무시
    DELIMITER $$
    CREATE FUNCTION  regexp_replace(original VARCHAR(1000),pattern VARCHAR(1000),replacement VARCHAR(1000))
      RETURNS VARCHAR(1000)
      DETERMINISTIC
    BEGIN
      DECLARE temp VARCHAR(1000);
      DECLARE ch VARCHAR(1);
      DECLARE i INT;
      SET i = 1;
      SET temp = '';
      IF original REGEXP pattern THEN
        loop_label: LOOP
          IF i>CHAR_LENGTH(original) THEN
            LEAVE loop_label;
          END IF;
          SET ch = SUBSTRING(original,i,1);
          IF NOT ch REGEXP pattern THEN
            SET temp = CONCAT(temp,ch);
          ELSE
            SET temp = CONCAT(temp,replacement);
          END IF;
          SET i=i+1;
        END LOOP;
      ELSE
        SET temp = original;
      END IF;
      RETURN temp;
    END$$
    DELIMITER ;
    
    

    다음으로 이동:http://sheng.iteye.com/blog/2376063

    좋은 웹페이지 즐겨찾기