Text manipulation in SQL

From: jim_esti(at)hotmail(dot)com (Jim)
To: pgsql-sql(at)postgresql(dot)org
Subject: Text manipulation in SQL
Date: 2001-06-26 21:59:00
Message-ID: f0e3dc0b.0106261359.7ab6b281@posting.google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi All,

I have a column with a variety of names in it, for example
John, Smith
John, A S
Jane, Doe A
Jane, A

I will call this column NAMES for this.
I was looking to manipulate that column.
Specifically:
The NAME field will be split after the rightmost blank. Letter on the
right of that blank will be displayed as LAST_NAME, the remainder will
be displayed as FIRST_NAME.

Does anyone know how to do this correctly?

I have tried something like this:
LTRIM( NAME, (substr(NAME,1,(INSTR(NAME,' ',1,1)))))
But that would only yield something like this:
John,
John,
Jane,
Jane,

My little bit of code seems to only extract up to the first blank
space. Which would only work correctly if the names where only in two
parts (like Jane, A).
As I said I would like to return the NAME column in two parts (the
letters to the right of the right most blank, and the other half).
It seems a little trick to me.
Anyone have any advice, hints, or solutions?

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jerome Alet 2001-06-26 22:11:10 Storing image contents in TEXT fields
Previous Message Kristis Makris 2001-06-26 19:58:51 Re: Using the extract() function in plpgsql