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 по дате отправления: