pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Kenneth Marshall <ktm@rice.edu>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Dean Gibson (DB Administrator) <postgresql@ultimeth.com>
Cc: pgsql-sql <pgsql-sql@postgresql.org>
Subject: Re: Trailing spaces - is there an easier way?
Date: Thu, 4 Nov 2010 14:47:46 -0500
Message-ID: <20101104194746.GK27429@aart.is.rice.edu> (raw)
In-Reply-To: <AANLkTinNRgvDzk+=098PbtwzqUPxhs9DyrwTgYULjRhc@mail.gmail.com>
References: <4CD30394.1030106@ultimeth.com>
	<AANLkTinNRgvDzk+=098PbtwzqUPxhs9DyrwTgYULjRhc@mail.gmail.com>

On Thu, Nov 04, 2010 at 08:42:21PM +0100, Pavel Stehule wrote:
> 2010/11/4 Dean Gibson (DB Administrator) <postgresql@ultimeth.com>:
> > I'm sure this has been asked before, but I couldn't find it:
> >
> > I have a "zzz CHAR (8)" field.?? It needs to be CHAR because trailing spaces
> > need to be ignored for most operations.?? However, I need to concatenate it
> > with another (literal) string and need the spaces to be significant in that
> > operation.?? The ONLY WAY I could find to do it?? in v9.0.1 was (represented
> > in the following function):
> >
> > CREATE OR REPLACE FUNCTION padded( field CHAR ) RETURNS TEXT
> > ?????? RETURNS NULL ON NULL INPUT
> > ?????? IMMUTABLE
> > ?????? LANGUAGE SQL AS $SQL$
> > ?????????????? SELECT RPAD( $1, OCTET_LENGTH( $1 ) )
> > ?????? $SQL$;
> >
> > And then of course I write:
> >
> > SELECT padded( zzz ) || '/' || ...
> >
> > Is there a better way?
> >
> >
> 
> nic=# SELECT 'AAAA    '::char(6) || 'bbbb';
>  ?column?
> ----------
>  AAAAbbbb
> (1 row)
> 
> Time: 2.710 ms
> nic=# SELECT 'AAAA    '::char(6)::cstring || 'bbbb';
>   ?column?
> ------------
>  AAAA  bbbb
> (1 row)
> 
> 
> regards
> 
> Pavel Stehule
> 

Here is a link to some useful other pseudo types:

http://www.postgresql.org/docs/9.0/interactive/datatype-pseudo.html

Regards,
Ken



view thread (3+ messages)

Message-ID: <20101104194746.GK27429@aart.is.rice.edu>
Permalink:  ../20101104194746.GK27429@aart.is.rice.edu/
Also on:    postgresql.org/message-id/20101104194746.GK27429@aart.is.rice.edu

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: ktm@rice.edu, pavel.stehule@gmail.com, postgresql@ultimeth.com
  Subject: Re: Trailing spaces - is there an easier way?
  In-Reply-To: <20101104194746.GK27429@aart.is.rice.edu>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox