mysql中有类似substr\u replace的东西吗?

7y4bm7vi  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(345)

我有这样的列数据“132154646878”,我想从指定的位置替换每个列的一部分,例如:
替换子项(“132154646878”,“***”,4)
输出=>132***646878
mysql有什么功能吗?

k2arahey

k2arahey1#

看起来你在找mysql的 INSERT 功能。

  1. INSERT(str, pos, len, newstr)

返回字符串str,子字符串从位置pos开始,len字符由字符串newstr替换。如果pos不在字符串长度内,则返回原始字符串。如果len不在字符串其余部分的长度内,则从位置pos替换字符串其余部分。如果任何参数为null,则返回null。
来源https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_insert
查询

  1. SELECT INSERT("132154646878", 4, LENGTH('***'), "***");

p、 请记住,当您在newstr参数中使用多字节字符集(如utf8)时,您需要使用 CHAR_LENGTH() 而不是关闭 LENGTH() 结果

  1. | INSERT("132154646878", 4, LENGTH('***'), "***") |
  2. | ----------------------------------------------- |
  3. | 132***646878 |

db fiddle视图

展开查看全部

相关问题