gpt4 book ai didi

mysql - 我们可以在更新记录时在sql中的替换函数中使用字符串函数吗

转载 作者:行者123 更新时间:2023-11-29 07:14:09 24 4
gpt4 key购买 nike

我想在某些情况下更新我的记录。

例如。我有一列 ResidenceAddress1,其中包含电子邮件 ID 和地址。

示例数据:

sap3200@gmail.com,Rourkela   
sap3212@gmail.com 2nd street,7 hills
2nd street, sap3212@gmail.com

我通过以下方式找到来自 ResidenceAddress1 的电子邮件:

select (concat(trim(substring_index(substring_index(Residence_Address1, '@', '1'), ' ', -1)),'','@gmail.com') as mail,Residence_Address1
from mytable
where Residence_Address1 like '%gmail%' and Email_Personal1=""

当我这样更新时:

update mytable
set email_Personal1=concat(trim(substring_index(substring_index(Residence_Address1, '@', '1'), ' ', -1)), '','@gmail.com') ,
Residence_Address1=replace(residence_address1,"'concat(trim(substring_index(substring_index(Residence_Address1, '@', '1'), ' ', -1)), '','@gmail.com')'",'')
where Residence_Address1 like '%gmail%' and Email_Personal1=""

这样,它会更新 email_personal1,但不会使用替换的空值(而不是该行中的 gmail id 值)更新residential_address1。我在哪里弄错了?

最佳答案

您可以更新多个列并在更新中混合字符串函数。在问题中,您有多余的双引号,这是不需要的。也许您打算这样:

update fulldata_table
set email_Personal1 = concat(trim(substring_index(substring_index(Residence_Address1, '@', '1'
), ' ', -1)
), '', '@gmail.com'),
Residence_Address1 = replace(residence_address1, concat(trim(substring_index(substring_index(Residence_Address1, '@', '1'), ' ', -1)), '', '@gmail.com', '')
where Residence_Address1 like '%gmail%' and Email_Personal1 = ''

关于mysql - 我们可以在更新记录时在sql中的替换函数中使用字符串函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38565772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com