hs.hsadmin.ng/src/main/resources/db/changelog/2022-07-28-002-int-to-var.sql

26 lines
591 B
MySQL
Raw Normal View History

--liquibase formatted sql
--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
2022-07-29 08:46:04 +02:00
select chr(ascii('a') + i % 26) into partial;
if len > 1 then
2022-07-29 08:46:04 +02:00
return intToVarChar(i / 26, len - 1) || partial;
else
return partial;
end if;
2022-07-29 08:46:04 +02:00
end; $$;
--//