sql >> Database teknologi >  >> RDS >> PostgreSQL

Erstatning af regex-matchet tekst med version med store bogstaver i Postgresql

Du kan oprette 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 ikke testet, kan have fejl).

Eller brug et hvilket som helst tilgængeligt sprog til at skrive en sådan funktion i DB.



  1. SQL Server REPLACE() vs TRANSLATE():Hvad er forskellene?

  2. multidimensional array forespørgsel mysql

  3. C# Parametriseret forespørgsel MySQL med "in" klausul

  4. Sådan begrænser du ord, men ikke definitioner ved hjælp af mysql