Search Postgresql Archives

Re: Inserting boolean types as an alias?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



John R Pierce wrote
> On 12/2/2013 3:46 PM, Nick wrote:
>> Hello I am new to this site and also a student. I am working on an
>> assignment
>> and was wondering if there is a way to make an alias for a boolean? For
>> example when I am making a table called club_games and it must contain
>> the
>> memberID, gameID, count, and status as column fields. When I enter the
>> data
>> for status I want it to say either "unavailable" for false and
>> "available"
>> for true. but I don't know how to do that.
> 
> you could use an enum, or you could use a case statement on your query, 
> like,
> 
> SELECT memberID, gameID, hardwareID, count, case when status then
> 'available' else 'unavailable' end FROM club_Games

Not sure an enum would work since the source table has the "status" column
defined as boolean...

Condition conversion requires the use of the "CASE" expression.  One point
not made is that the column allows for NULL.  I like to avoid 3-value logic
thinking when possible so I'd suggest:

CASE WHEN status IS NULL THEN 'Unknown'
         WHEN status = true THEN 'Available'
         ELSE 'Unavailable'
END::varchar AS status_description

Then, if you need the logic elsewhere put that into a SQL function so you
can change the words without having to change every location the conversion
may be used.  

You may also want a "description_to_status" function to perform the inverse.

David J.





--
View this message in context: http://postgresql.1045698.n5.nabble.com/Inserting-boolean-types-as-an-alias-tp5781328p5781337.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux