Re: SELECT CAST(123 AS char) -> 1

From: "Dean Gibson (DB Administrator)" <postgresql(at)ultimeth(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: SELECT CAST(123 AS char) -> 1
Date: 2008-02-13 04:34:26
Message-ID: 47B27352.4000903@ultimeth.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2008-02-12 19:39, Ken Johanson wrote:
> Dean Gibson (DB Administrator) wrote:
>> On 2008-02-12 16:17, Ken Johanson wrote:
>>> Dean Gibson (DB Administrator) wrote:
>>> ...
>>>
>>> I'm guessing you declare an explicit length of 1 (for portability),
>>> or do you "CAST (x as char)"? And one might ask in what context we'd
>>> need CHAR(1) on a numeric type, or else if substr/ing or left() make
>>> the code more readable for other data types..
>>>
>>
>> Actually, I just write "CHAR" for a length of 1.
>
> On a numeric type?.. That's the quintessential part to me...
No, not on a numeric type. The database stores a single byte code from
a gov't DB. In a VIEW, I do a table lookup on the code and suffix an
English explanation of the code. However, some of the users of the VIEW
(eg, php) would like to do a SELECT based on the original value, and I
use CAST( ... AS CHAR ) to get just the original code back. I use the
CAST as a shorthand for SUBSTRING. I don't know if that is easier for
the planner to flatten than a function call, but it's easier (for me) to
read (especially if I use the PostgreSQL "::" cast extension).

>>> > What is wrong with using VARCHAR for your
>>> purpose????????????????????????????
>>>
>>> Simply that a commonly used database (my) does not support it.
>>
>> By "my", do you mean "MySQL", or "MyDatabase"? If the latter, then
>> while it's your business decision (and/or that of your customers),
>> the availability of decent, free databases should make a compelling
>> case for anyone using anything else, to migrate (and never look back)
>> to something full-featured.
> Yes, Mysql, and yes, it's customer driven.
>
Then I don't understand. While I've never used MySQL, the MySQL web
pages apparently indicate that VARCHAR has been supported since version
3.2: http://dev.mysql.com/doc/refman/4.1/en/char.html

--
Mail to my list address MUST be sent via the mailing list.
All other mail to my list address will bounce.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-02-13 04:34:56 Re: Storing images as BYTEA or large objects
Previous Message Adam Rich 2008-02-13 04:07:58 Re: Storing images as BYTEA or large objects