作者:小爬虫 | 来源:互联网 | 2022-12-03 12:33
我的列数据看起来像这样"132154646878"我想从指定的位置替换每个的一部分,如:
substr_replace( "132154646878", "***",4)
输出=> 132***646878
MySQL中的任何功能?
1> Raymond Nijl..:
看起来你正在寻找MySQL的INSERT
功能.
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
询问
SELECT INSERT("132154646878", 4, LENGTH('***'), "***");
PS记住,当你使用多字节字符的字符集UTF8一样在参数中newstr你需要使用CHAR_LENGTH()
,而不是关闭LENGTH()
结果
| INSERT("132154646878", 4, LENGTH('***'), "***") |
| ----------------------------------------------- |
| 132***646878 |
查看DB小提琴