Re: Update Mass Data in Field?

Поиск
Список
Период
Сортировка
От Steve Crawford
Тема Re: Update Mass Data in Field?
Дата
Msg-id 4F21EA93.9090202@pinpointresearch.com
обсуждение исходный текст
Ответ на Update Mass Data in Field?  (Carlos Mennens <carlos.mennens@gmail.com>)
Список pgsql-sql
On 01/26/2012 03:59 PM, Carlos Mennens wrote:
> I'm new to SQL so I'm looking for a way to change several email
> addresses with one command. For example everyone has a 'holyghost.org'
> domain and I need to change a few 100 email addresses in the field
> 'emp_email'. I need to UPDATE employees table which has a COLUMN
> 'emp_email' and change %holyghost.org to %ghostsoftware.com.
>
> I tried:
>
> UPDATE employees SET emp_email = '%ghostsoftware.com' WHERE emp_email
> LIKE '%holyghost.org';
>
> It didn't update anything when I ran the command. Does anyone know how
> I need to correct my SQL statement above to change everyone's email
> address?
>

...set emp_email = regexp_replace(emp_email, '@holyghost.org$', 
'@ghostingsoftware.org') where emp_email ~ '@holyghost.org$'...

This is using the regular expression match and regexp_replace to ensure 
that the pattern is anchored at the end of the field and includes the 
"@" sign in the expression to avoid accidentally matching something like 
...@theholyghost.org.

You can always do a select of the emp_email alongside the replacement 
expression to be sure it will do what you want before actually updating 
your database.

Cheers,
Steve



В списке pgsql-sql по дате отправления:

Предыдущее
От: Carlos Mennens
Дата:
Сообщение: Update Mass Data in Field?
Следующее
От: "David Johnston"
Дата:
Сообщение: Re: Update Mass Data in Field?