Re: concatenate question - Mailing list pgsql-sql

From Kenneth Marshall
Subject Re: concatenate question
Date
Msg-id 20101207215220.GF4028@aart.is.rice.edu
Whole thread Raw
In response to Re: concatenate question  (Tony Capobianco <tcapobianco@prospectiv.com>)
List pgsql-sql
What does a 'timestamp || numeric' actually look like? It
means the timestamp written out a.k.a text and the same for
numeric. The database does not know that that is what you
wanted without the casts to text.

Cheers,
Ken

On Tue, Dec 07, 2010 at 04:47:46PM -0500, Tony Capobianco wrote:
> Ok, that worked.  Why did I need to cast both as text though?
> 
> plsql_dw=# select memberid::text||addeddate::text from
> tmpsv_parent_master limit 5;
>            ?column?           
> ------------------------------
>  4005941032010-11-16 19:32:17
>  4005941952010-11-16 19:33:29
>  4005942842010-11-16 19:34:32
>  4005943492010-11-16 19:35:22
>  4005943662010-11-16 19:35:37
> (5 rows)
> 
> Thanks.
> 
> On Tue, 2010-12-07 at 16:43 -0500, Peter Steinheuser wrote:
> > I think the HINT is what you need to look at.
> > 
> > Cast both columns to text.
> > 
> > On Tue, Dec 7, 2010 at 4:37 PM, Tony Capobianco
> > <tcapobianco@prospectiv.com> wrote:
> >         Here's my table:
> >         
> >                plsql_dw=# \d tmpsv_parent_master
> >                           Table "staging.tmpsv_parent_master"
> >                     Column     |            Type             |
> >         Modifiers
> >         
> >          ----------------+-----------------------------+-----------
> >                 memberid       | numeric                     |
> >                 addeddate      | timestamp without time zone |
> >                 sourceid       | numeric                     |
> >                 regcomplete    | numeric(1,0)                |
> >                 optoutdate     | date                        |
> >                 bouncedate     | date                        |
> >                 websiteid      | numeric                     |
> >                 emailbounced   | numeric(2,0)                |
> >                 emailok        | numeric(2,0)                |
> >                 emailaddress   | character varying(50)       |
> >                 srcwebsiteid   | numeric                     |
> >                 srcmemberid    | numeric                     |
> >                 sitetype       | character varying           |
> >                 commissionpct  | numeric                     |
> >                 pricepermember | numeric                     |
> >                 acceptrate     | numeric(3,2)                |
> >                 mktgcenterid   | numeric                     |
> >                 label          | character varying(32)       |
> >         
> >         
> >                Why won't this work?
> >                plsql_dw=# select memberid || addeddate from
> >         tmpsv_parent_master
> >         limit
> >                10;
> >                ERROR:  operator does not exist: numeric || timestamp
> >         without
> >         time zone
> >                LINE 1: select memberid || addeddate from
> >         tmpsv_parent_master
> >         limit ...
> >                                        ^
> >                HINT:  No operator matches the given name and argument
> >         type(s).
> >         You
> >                might need to add explicit type casts.
> >         
> >                Thanks.
> >         
> >         
> >         --
> >         Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> >         To make changes to your subscription:
> >         http://www.postgresql.org/mailpref/pgsql-sql
> > 
> > 
> > 
> > -- 
> > Peter Steinheuser
> > psteinheuser@myyearbook.com
> 
> 
> 
> -- 
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
> 


pgsql-sql by date:

Previous
From: Dmitriy Igrishin
Date:
Subject: Re: concatenate question
Next
From: Richard Broersma
Date:
Subject: Re: concatenate question