sql >> Database >  >> RDS >> PostgreSQL

Postgresql -- opschonen HTML-tags in het midden van string

Ervan uitgaande dat je een tabel als deze hebt:

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

U kunt de volgende regexp_replace gebruiken:

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

De 'g' vlag geeft aan dat alle overeenkomende patronen moeten worden vervangen, niet alleen de eerste.

Met deze invoer:

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

Ik krijg de volgende output:

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



  1. Hoe stel ik een standaardrij in voor een query die geen rijen retourneert?

  2. Hoe krijg ik kolomnamen uit een bepaalde MySQL-tabel?

  3. Wat is een geschikt gegevenstype om een ​​tijdzone op te slaan?

  4. Hoe kan ik voorwaardelijke niet-null-beperkingen voor verschillende kolommen in mySql definiëren?