Re: Conver bool to text - Mailing list pgsql-sql

From Marco Manfredini
Subject Re: Conver bool to text
Date
Msg-id 200503112312.28266.mldb@gmx.net
Whole thread Raw
In response to Conver bool to text  (Edmund Bacon <ebacon@onesystem.com>)
List pgsql-sql

Edmund Bacon wrote:> Is there a way to convert a boolean value to text and/or vice versa?>[cause it doesn't work as
expected]>> It's not that difficult to write a fuction to convert boolean to text,> but I'm wondering if there's
alreadysomething that does this?You can help yourself by misusing the $type_in and $type_out functions: create or
replacefunction bool2text(bool) returns text as $$ select textin(boolout($1)); $$ language sql;  create cast (bool as
text)with function bool2text(bool); This is somewhat generic. Since the name of the *in and *out functioncan be read
frompg_type, the conversion function can even be generatedautomatic: /* warning: conversion via text representation
isn'talways right.*/ create or replace function make_conversion_function(s text, d text)returns void as $$ declare
tintext;   tout text;   xp text;  begin select typinput into tin from pg_catalog.pg_type where typname=d;  select
typoutputinto tout from pg_catalog.pg_type where typname=s;  xp:='create or replace function as_' || d || '(' || s ||
')returns '|| d || ' as $BODY$ select ' || tin || '(' || tout || '($1)) $BODY$language sql;';  execute xp;  /* create
castanalogue..*/ return;  end; $$ language plpgsql; select make_conversion_function('text','bool');select
make_conversion_function('bool','text');selectas_bool('true'),as_text(true); --- Marco
 



pgsql-sql by date:

Previous
From: Edmund Bacon
Date:
Subject: Conver bool to text
Next
From: "Tambet Matiisen"
Date:
Subject: Parameterized views proposition