sql >> Database >  >> RDS >> PostgreSQL

Regex overeenkomende tekst vervangen door hoofdletterversie in Postgresql

U kunt een PL/pgSQL-functie maken zoals:

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;

(Niet getest, kan bugs bevatten).

Of gebruik een beschikbare taal om een ​​dergelijke functie in DB te schrijven.



  1. Hoe verhoudt de FROM-kant van een UPDATE zich tot de tabel die is bedoeld voor UPDATE?

  2. Optionele database-entiteiten

  3. Zoek of getal is opgenomen in een uitdrukking zoals:1-3,5,10-15,20

  4. Kan ik de slaapstand-querytaal gebruiken voor entiteiten die niet aan een tabel zijn toegewezen?