Re: Converting varchar to bool
От | Bruno Wolff III |
---|---|
Тема | Re: Converting varchar to bool |
Дата | |
Msg-id | 20050615143124.GC7595@wolff.to обсуждение исходный текст |
Ответ на | Converting varchar to bool (KÖPFERL Robert <robert.koepferl@sonorys.at>) |
Список | pgsql-sql |
On Wed, Jun 15, 2005 at 14:14:46 +0200, KÖPFERL Robert <robert.koepferl@sonorys.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 FUNCTIONtestbool ----------t (1 row)
В списке pgsql-sql по дате отправления: