From a929164a89fc5f92c85da52d800b90b1215025f2 Mon Sep 17 00:00:00 2001 From: Luca Ferrari Date: Mon, 3 Oct 2022 11:12:32 +0200 Subject: Task 2 ppgsql done --- challenge-185/luca-ferrari/postgresql/ch-2.sql | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 challenge-185/luca-ferrari/postgresql/ch-2.sql diff --git a/challenge-185/luca-ferrari/postgresql/ch-2.sql b/challenge-185/luca-ferrari/postgresql/ch-2.sql new file mode 100644 index 0000000000..a18a7e73ab --- /dev/null +++ b/challenge-185/luca-ferrari/postgresql/ch-2.sql @@ -0,0 +1,31 @@ +-- Perl Weekly Challenge 185 +-- Task 2 + +CREATE SCHEMA IF NOT EXISTS pwc185; + +CREATE OR REPLACE FUNCTION +pwc185.task2_plpgsql( code text ) +RETURNS text +AS $CODE$ +DECLARE + how_many int := 4; + d char; + code_out text := ''; +BEGIN + FOREACH d IN ARRAY regexp_split_to_array( code, '' ) LOOP + IF how_many = 0 OR d !~ '\w' THEN + code_out := code_out || d; + CONTINUE; + ELSEIF how_many > 0 AND d ~ '\w' THEN + code_out := code_out || 'x'; + how_many := how_many - 1; + + ELSE + code_out := code_out || d; + END IF; + END LOOP; + +RETURN code_out; +END +$CODE$ +LANGUAGE plpgsql; -- cgit