diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-10-03 11:12:32 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-10-03 11:12:32 +0200 |
| commit | a929164a89fc5f92c85da52d800b90b1215025f2 (patch) | |
| tree | 68f2f4dde35d030e7b5684410359436f24796b09 | |
| parent | e248b2f4fefeed28f09546e24fb6d7dc9b935d6e (diff) | |
| download | perlweeklychallenge-club-a929164a89fc5f92c85da52d800b90b1215025f2.tar.gz perlweeklychallenge-club-a929164a89fc5f92c85da52d800b90b1215025f2.tar.bz2 perlweeklychallenge-club-a929164a89fc5f92c85da52d800b90b1215025f2.zip | |
Task 2 ppgsql done
| -rw-r--r-- | challenge-185/luca-ferrari/postgresql/ch-2.sql | 31 |
1 files changed, 31 insertions, 0 deletions
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; |
