Есть 2 решения, основанные на версии MySQL.
Если вы используете MySQL 8.0, вы можете использовать REGEXP_REPLACE () непосредственно внутри оператора select.
SELECT REGEXP_REPLACE('<div><p>New note example</p></div>', (<[^>]*>)|( ), '');
Если вы используете MySQL 5.7, вам нужно создать пользовательскую функцию определения в базе данных для удаления HTML-тегов.
DROP FUNCTION IF EXISTS fn_strip_html_tags;
CREATE FUNCTION fn_strip_html_tags( html_text TEXT ) RETURNS TEXT
BEGIN
DECLARE start,end INT DEFAULT 1;
DECLARE text_without_nbsp TEXT;
LOOP
SET start = LOCATE("<", html_text, start);
IF (!start) THEN RETURN html_text; END IF;
SET end = LOCATE(">", html_text, start);
IF (!end) THEN SET end = start; END IF;
SET text_without_nbsp = REPLACE(html_text, " ", " ");
SET html_text = INSERT(text_without_nbsp, start, end - start + 1, "");
END LOOP;
END
Например
SELECT fn_strip_html_tags('<div><p>New note example</p></div>');