Обсуждение: simple UPDATE statement...

Поиск
Список
Период
Сортировка

simple UPDATE statement...

От
Joshua
Дата:
Hello,

I have a quick questions... consider the following information:

I have a table 'customers' which looks like the following:

firstname               |               middlename
-------------------|--------------------------
Johnathan C
Mark S
Joshua
Susan T
Jennifer
Marcus D
Mike G
Ted
William R

I would like to write a SQL update statement that yields the following
results:

firstname               |               middlename
-------------------|--------------------------
Johnathan                    C
Mark                           S
Joshua
Susan                           T
Jennifer
Marcus                        D
Mike                           G
Ted
William                         R


Basically, this... I need to take the middle initial from the
'firstname' field and place it in the 'middlename' field - that is if
only there is a middle initial in the 'firstname' field.

Please let me know the best way to write the UPDATE statement. If you
have any questions or need more info from me please feel free to email.

Thanks!!!





Re: simple UPDATE statement...

От
Justin
Дата:
you need to strip the string apart using either regex  which is
difficult to use or split_part()

http://www.postgresql.org/docs/8.3/interactive/functions-string.html

The update will look something like this...

Update customer set custfirstname = split_part(Name, ' ', 1) ,
custmiddlename = split_part(Name, ' ', 2) , custlastname =
split_part(Name, ' ', 3)

split_apart can give funky results if the data is not uniform.


Joshua wrote:
> Hello,
>
> I have a quick questions... consider the following information:
>
> I have a table 'customers' which looks like the following:
>
> firstname               |               middlename
> -------------------|--------------------------
> Johnathan C        Mark S
> Joshua
> Susan T
> Jennifer
> Marcus D
> Mike G
> Ted
> William R
>
> I would like to write a SQL update statement that yields the following
> results:
>
> firstname               |               middlename
> -------------------|--------------------------
> Johnathan                    C       Mark                           S
> Joshua        Susan                           T
> Jennifer
> Marcus                        D
> Mike                           G
> Ted
> William                         R
>
>
> Basically, this... I need to take the middle initial from the
> 'firstname' field and place it in the 'middlename' field - that is if
> only there is a middle initial in the 'firstname' field.
>
> Please let me know the best way to write the UPDATE statement. If you
> have any questions or need more info from me please feel free to email.
>
> Thanks!!!
>
>
>
>
>