sql >> Databáze >  >> RDS >> PostgreSQL

Postgresql -- vyčištění HTML tagů uprostřed řetězce

Za předpokladu, že máte tabulku jako je tato:

CREATE TABLE table1
(
  a character varying NOT NULL,
  ...
)

Můžete použít následující regexp_replace:

update table1 set a = regexp_replace(a, '(.*?)<(\w+)\s+.*?>(.*)', '\1<\2>\3', 'g');

'g' flag označuje nahrazení všech odpovídajících vzorů, nejen prvního.

S tímto vstupem:

foo foo <th id="ddd"> foo foo <th id="www"> foo<div id="hey">

Dostávám následující výstup:

foo foo <th> foo foo <th> foo<div>



  1. Jak mohu vytvořit tabulku s orákulem, ale s malými znaky?

  2. Kontingenční tabulka MySQL

  3. Zrušte tabulku z databáze Oracle, pokud tabulka existuje v příkazu SQL

  4. Chyba syntaxe Oracle