sql >> Databasteknik >  >> RDS >> PostgreSQL

Ersätter matchad text med regex med versaler i Postgresql

Du kan skapa en PL/pgSQL-funktion som:

CREATE FUNCTION upper_asterisk(inp_str varchar)
RETURNS varchar AS $$
DECLARE t_str varchar;
BEGIN

  FOR t_str IN (SELECT regexp_matches(inp_str,'\*.+\*','g'))
  BEGIN
    inp_str := replace(inp_str, t_str, upper(t_str));
  END;

  RETURN inp_str;
END;
$$  LANGUAGE plpgsql;

(Har ej testat, kan ha buggar).

Eller använd valfritt tillgängligt språk för att skriva en sådan funktion i DB.



  1. Uppdatera en tabell från en annan tabell med flera kolumner i sqlalchemy

  2. Hur slår jag samman två eller flera rader baserat på deras främmande nyckel?

  3. Hur begränsar man en databastabell så att bara en rad kan ha ett visst värde i en kolumn?

  4. java.lang.OutofMemorySpace:Java-högutrymme medan 120 miljoner rader hämtas från databasen i pyspark