sql >> Base de Datos >  >> RDS >> PostgreSQL

Reemplazo de texto coincidente con expresiones regulares con versión en mayúsculas en Postgresql

Puede crear una función PL/pgSQL como:

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;

(No lo he probado, puede tener errores).

O use cualquier idioma disponible para escribir dicha función dentro de DB.