>>>> "A. Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> 2007-06-25 20:07 >>>
>am Mon, dem 25.06.2007, um 12:44:25 -0500 mailte Joshua folgendes:
>> Ok,
>>
>> You guys must be getting sick of these newbie questions, but I can't
>> resist since I am learning a lot from these email lists and getting
>> results quick! Thanks to everyone for their contributions.
>>
>> Here is my questions....
>>
>> I have a column that looks like this
>>
>> firstname
>> -----------------
>> John B
>> Mark A
>> Jennifer D
>>
>> Basically I have the first name followed by a middle initial. Is there a
>> quick command I can run to strip the middle initial? Basically, I just
>> need to delete the middle initial so the column would then look like the
>> following:
>>
>> firstname
>> ---------------
>> John
>> Mark
>> Jennifer
>
>Yes, of course:
>
>test=# select split_part('My Name', ' ', 1);
>split_part
>------------
>My
>(1 row)
>
>And now, i think, you should read our fine manual:
>http://www.postgresql.org/docs/current/interactive/
>
>Andreas
While there are several ways to make the split the result will never be good. As someone
responded before: this is multicultural. You can never garantee that the first name stops at the
first space. What about names like Sue Ellen or Pieter Jan. I know people with those names
and none of them would like to be calles Sue or Pieter and right they are. Simply because their
first name doesn't stop at the first space. In many countries the concept of 'middle initials' is
meaningless because no one ever uses it.
In my (humble) opinion there are two roads to walk. Either you get your data from the 'client'
split up to the level of detail you require, if someone knows it's him/her. Or you use the data
as is and you don't split it up.