新电子邮件地址约定

时间:2014-01-20 19:37:49

标签: sql oracle plsql

我有一个包含电子邮件地址的数据库。

我的公司正在更改我们的电子邮件地址约定:

first_initiallast_name@mycompany.com

first_name.last_name@contoso.com

我想写一个SQL语句来一次更新这个数据库中的所有电子邮件地址。名字和姓氏是同一张表中的列(为简单起见,我们称之为MY_TABLE)。

我如何在Oracle SQL语句中执行此操作?

2 个答案:

答案 0 :(得分:1)

好像你只想要

UPDATE my_table
   SET email_address = first_name || '.' || last_name || '@contoso.com'

这将更新表格中的每一行,并假设您没有NULL名字或姓氏值。

答案 1 :(得分:0)

您希望更新email字段以及其他两个字段:

UPDATE my_table SET email= first_name || '.' || last_name || '@contoso.com'
    WHERE first_name != NULL AND last_name != NULL

请注意,如果first_namelast_name为空,转换可能不正确...

编辑:实际上你想要的是这个问题:SQL UPDATE SET one column to be equal to a value in a related table referenced by a different column?