我需要创建一个SQL更新语句,该语句将在包含多个电子邮件地址的电子邮件字段中查找和删除指定的语句。为了将所有内容放入上下文中,我使用此查询将更多电子邮件添加到现有电子邮件记录中。
UPDATE table1
SET email += `fundraiser@xyz.com,gorilla@xyz.com'
WHERE customer_id = 100
因此,结果在电子邮件字段
中是这样的'jill@xyz.com,fundraiser@xyz.com,gorilla@xyz.com'
现在,我想撤消并删除记录中fundraiser@xyz.com
和gorilla@xyz.com
的其他2封电子邮件。您能否帮助创建一个可以实现此目的的SQL语句?
答案 0 :(得分:1)
为此目的使用“STUFF(string1,start,length,add_string)”函数。 (运行给定的查询会删除第一个电子邮件ID,你可以更改stuff函数的“start”和“length”参数来实现你的目标)
SELECT STUFF('jill@xyz.com,fundraiser@xyz.com,gorilla@xyz.com', 1, 13, '')
FROM table1
WHERE customer_id = 100
答案 1 :(得分:0)
您是否尝试过使用SubString_Index?这应该摆脱第一个逗号及其右边的所有内容。
UPDATE table1
SET email=SUBSTRING_INDEX(email, ",", 1)