From: | Bruno Wolff III <bruno(at)wolff(dot)to> |
---|---|
To: | KÖPFERL Robert <robert(dot)koepferl(at)sonorys(dot)at> |
Cc: | Sql-Postgre <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Converting varchar to bool |
Date: | 2005-06-15 14:31:24 |
Message-ID: | 20050615143124.GC7595@wolff.to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Wed, Jun 15, 2005 at 14:14:46 +0200,
KÖPFERL Robert <robert(dot)koepferl(at)sonorys(dot)at> 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)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruno Wolff III | 2005-06-15 14:34:16 | Re: update syntax |
Previous Message | Bruno Prévost | 2005-06-15 12:49:52 | Re: update syntax |