On Mon, 2005-09-19 at 12:54, Alex Turner wrote: > I thought a char field was supposed to return a padded string, and > varchar was supposed to return a non-padded string? > > I just checked though: > > create table test ( > stuff char(10) > ); > > insert into test values ('foo'); > > select stuff || 'lemon' from test; > > This returns 'foolemon', not 'foo lemon' as I would have > expected. > > Alex Turner > NetEconomist > > On 9/15/05, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > CSN <cool_screen_name90001@xxxxxxxxx> writes: > > Just something I was curious about - is there any > > difference at all between "character varying" (in the > > SQL spec) without a length specified and "text" (not > > in the SQL spec)? > > The SQL standard doesn't allow "character varying" without a > length spec. > > But yeah, in Postgres they're essentially the same thing. > > regards, tom lane > > ---------------------------(end of > broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your > desire to > choose an index scan if your joining column's datatypes > do not > match > That's because || is a text operator, not a char operator here. So, what's really happening is: select cast(charfield as text)||cast(textfield as text) ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster