“Mysql regexp заменить” Ответ

Mysql regex заменить

REGEXP_REPLACE(expression, pattern, replacement[, position[, occurrence[, match_type]]])

Example 1 - remove all "-" characters
SELECT REGEXP_REPLACE( fieldname, '-', '' ) AS newfieldname FROM tablename
Yoshkinawa

Mysql regexp заменить

WITH t AS (SELECT 'aaa <b>bbb</b> ccc' AS teststring FROM dual)

SELECT
  teststring,
  regexp_replace(teststring, '<.+>') AS reg1,
  regexp_replace(teststring, '<.*>') AS reg2,
  regexp_replace(teststring, '<.*?>') AS reg3
FROM t


TESTSTRING             REG1        REG2          REG3
aaa <b>bbb</b> ccc     aaa ccc     aaa ccc       aaa bbb ccc
Tired Turkey

MySQL Замените режим

DELIMITER $$

CREATE FUNCTION  `regex_replace`(pattern VARCHAR(1000),replacement VARCHAR(1000),original 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 ;
Impossible Iguana

Ответы похожие на “Mysql regexp заменить”

Вопросы похожие на “Mysql regexp заменить”

Больше похожих ответов на “Mysql regexp заменить” по Sql

Смотреть популярные ответы по языку

Смотреть другие языки программирования