首页 > 解决方案 > SQL添加字符串结束值

问题描述

我有一个电子邮件列,每行都有不同数量的电子邮件。我想为每一行添加相同的电子邮件结尾。例如;

1.abc@hotmail.com;cd@hotmail.com
2.def@hotmail.com
3.a@hotmail.com;b@hotmail.com;d@hotmail.com

. . . 我想要的是;

1.abc@hotmail.com;cd@hotmail.com;newemail@hotmail.com
2.def@hotmail.com;newemail@hotmail.com
3.a@hotmail.com;b@hotmail.com;d@hotmail.com;newemail@hotmail.com

我该如何添加?

标签: sql

解决方案


您没有提供有关数据库(MySQL、SQL Server 等)的任何信息。我的解决方案适用于 SQL Server

update [tablename] set [column] = concat([column] + ';', 'newemail@hotmail.com')

为什么使用concat和“+”?因为如果您的表中的记录设置为null ,那么操作column + ';'也会返回null。之后 concat null with string 给你那个字符串,这样你就可以避免在这种情况下在开头放置不必要的分号。如果行中的列在列中没有空值,则将在您的新电子邮件地址之前添加分号。column + ';'


推荐阅读