Michael Hoennig 87af20a3a1 structured-liquibase-files (#29)
Co-authored-by: Michael Hoennig <michael@hoennig.de>
Reviewed-on: #29
Reviewed-by: Timotheus Pokorra <timotheus.pokorra@hostsharing.net>
2024-04-02 12:29:31 +02:00

28 lines
764 B
PL/PgSQL

--liquibase formatted sql
-- ============================================================================
-- INT-TO-VAR
--changeset int-to-var:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
/*
Returns a textual representation of an integer number to be used as generated test data.
Examples :
intToVarChar(0, 3) => 'aaa'
intToVarChar(1, 3) => 'aab'
*/
create or replace function intToVarChar(i integer, len integer)
returns varchar
language plpgsql as $$
declare
partial varchar;
begin
select chr(ascii('a') + i % 26) into partial;
if len > 1 then
return intToVarChar(i / 26, len - 1) || partial;
else
return partial;
end if;
end; $$;
--//