On Wed, Jun 15, 2005 at 14:14:46 +0200, KÖPFERL Robert <[EMAIL PROTECTED]> wrote: > Hi, > > > I have currently trouble working with boolean values and variables in > functions. > > As one would expect, a > select '1'::bool, 't'::bool, 'true'::unknown::boolean > > works. > > As a select '1' tells us this seems as a conversion unknown->bool > or ??maybe?? a boolean literal??
No it is not a conversion, '1', 't' and 'true' are all valid boolean strings representing TRUE. The input is not being converted from text to boolean. > > what-o-ever, at least my function gets not accepted: > > > CREATE OR REPLACE FUNCTION testbool(varchar) > RETURNS boolean AS > $BODY$ > SELECT $1::boolean > $BODY$ > LANGUAGE 'sql' STABLE STRICT SECURITY DEFINER; > > Postgres complains that it can't convert varchar to boolean. > Actually neither $1::unknown::bool works. > It turns out that there exists no conversion varchar/text/unknown -> > boolean. > Actually there's not any conversion -> boolean. > > How should this be treaten? > *being confused* > > > sorry for duplicating (I'm sure) this topic, at least I tried to find it in > the listarcive. It has been discussed in the last week. test.sql: CREATE OR REPLACE FUNCTION testbool(varchar) RETURNS boolean AS $BODY$ SELECT boolin(textout($1)); $BODY$ LANGUAGE 'sql' STABLE STRICT SECURITY DEFINER; SELECT testbool('true'); bruno=> \i test.sql CREATE FUNCTION testbool ---------- t (1 row) ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly