-- Deploy camper:to_price to pg -- requires: roles -- requires: schema_camper begin; set search_path to camper, public; create or replace function to_price(cents integer, decimal_digits integer default 2) returns text as $$ declare result text; scale integer := 10^decimal_digits; sign text := ''; begin if cents < 0 then sign := '-'; cents = -cents; end if; result = cents::text; return sign || (cents / scale)::text || '.' || to_char(mod(cents, scale), rpad('FM', decimal_digits + 2, '0')); end; $$ language plpgsql immutable; comment on function to_price(integer, integer) is 'Converts the cents to a price representation, without currency and any other separater than decimal.'; revoke execute on function to_price(integer, integer) from public; grant execute on function to_price(integer, integer) to employee; grant execute on function to_price(integer, integer) to admin; commit;