如果字符串重复,子字符串查询将无法正常工作

utugiqy6  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(270)

我想替换电话号码的最后5位数字。我写了这个问题:

update users
    set
        mobile = Replace(mobile, SUBSTRING(mobile, 6, 5), 'xxxxx')
    where
        email="xxxxx@gmail.com"

对于8100343397这样的数字,它可以正常工作,但是对于909090这样的数字,它将从第2位替换为第6位。
我想知道原因。
我知道它会和左和康卡特一起工作。

bvpmtnay

bvpmtnay1#

你为什么用这个 replace() ?

update users
    set mobile = concat(left(model, length(mobile) - 5), 'xxxxx')
    where email = 'xxxxx@gmail.com';

只需获取最后五个字符以外的所有字符,然后附加所需的新值。

相关问题