我有一个包含电子邮件地址的数据库。
我的公司正在更改我们的电子邮件地址约定:
first_initiallast_name@mycompany.com
到
first_name.last_name@contoso.com
我想写一个SQL语句来一次更新这个数据库中的所有电子邮件地址。名字和姓氏是同一张表中的列(为简单起见,我们称之为MY_TABLE)。
我如何在Oracle SQL语句中执行此操作?
答案 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_name
或last_name
为空,转换可能不正确...
编辑:实际上你想要的是这个问题:SQL UPDATE SET one column to be equal to a value in a related table referenced by a different column?