diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-09-26 11:11:51 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-09-26 11:11:51 +0200 |
| commit | 6e11fc3964761736822416dd4dd0b178d91fc0cd (patch) | |
| tree | 0be2813e074a35ddff19c6806f642685a3efe052 | |
| parent | b0bdb6f3151e52bdaa12978388f69537cdc7bed8 (diff) | |
| download | perlweeklychallenge-club-6e11fc3964761736822416dd4dd0b178d91fc0cd.tar.gz perlweeklychallenge-club-6e11fc3964761736822416dd4dd0b178d91fc0cd.tar.bz2 perlweeklychallenge-club-6e11fc3964761736822416dd4dd0b178d91fc0cd.zip | |
Task 1 plpgsql
| -rw-r--r-- | challenge-184/luca-ferrari/postgresql/ch-1.sql | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-184/luca-ferrari/postgresql/ch-1.sql b/challenge-184/luca-ferrari/postgresql/ch-1.sql new file mode 100644 index 0000000000..5252ac33cf --- /dev/null +++ b/challenge-184/luca-ferrari/postgresql/ch-1.sql @@ -0,0 +1,32 @@ +-- Perl Weekly Challenge 184 +-- Task 1 + +CREATE SCHEMA IF NOT EXISTS pwc184; + + +CREATE OR REPLACE FUNCTION +pwc184.task1_plpgsql( strings text[] ) +RETURNS SETOF text +AS $CODE$ +DECLARE + current_string text; + c int := 0; + pref text; +BEGIN + FOREACH current_string IN ARRAY strings LOOP + IF c < 10 THEN + pref := '0' || c; + ELSE + pref := c::text; + END IF; + RETURN NEXT regexp_replace( current_string, + '^[a-z]{2}', + pref ); + c := c + 1; + END LOOP; + RETURN; +END + + +$CODE$ +LANGUAGE plpgsql; |
