From 0f14f7e6e05a27325a48214c58c2ce453ea9fe52 Mon Sep 17 00:00:00 2001 From: Luca Ferrari Date: Tue, 22 Nov 2022 12:52:49 +0100 Subject: Task 1 plpgsql done --- challenge-192/luca-ferrari/postgresql/ch-1.sql | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 challenge-192/luca-ferrari/postgresql/ch-1.sql diff --git a/challenge-192/luca-ferrari/postgresql/ch-1.sql b/challenge-192/luca-ferrari/postgresql/ch-1.sql new file mode 100644 index 0000000000..a13e6329ee --- /dev/null +++ b/challenge-192/luca-ferrari/postgresql/ch-1.sql @@ -0,0 +1,27 @@ +-- Perl Weekly Challenge 192 +-- Task 1 + +CREATE SCHEMA IF NOT EXISTS pwc192; + +CREATE OR REPLACE FUNCTION +pwc192.task1_plpgsql( n int ) +RETURNS int +AS $CODE$ +DECLARE + bb text; + b bit; +BEGIN + bb := '0'; -- needed for the conversion + FOREACH b IN ARRAY regexp_split_to_array( n::bit(8)::text, '' ) LOOP + IF b THEN + bb := bb || 0; + ELSE + bb := bb || 1; + END IF; + END LOOP; + + RAISE INFO '%', bb; + RETURN bb::bit(8)::int; +END +$CODE$ +LANGUAGE plpgsql; -- cgit