SELECT CONCAT(SUBSTR('123456789', 1, 2), '*****', SUBSTR('123456789', 8, 2));
上述代码中,大家首先使用SUBSTR函数获取原字符串的前两个字符和后两个字符,然后将其与中间的5个星号拼接起来。最后,使用CONCAT函数将它们连接在一起,返回新字符串。
此外,如果大家不想直接将固定数量的星号插入到字符串中,而是想在保留两个字符的情况下动态地插入星号,那么MySQL的REPEAT函数可以派上用场。将大家的REPLACE函数改写如下:
SELECT CONCAT(SUBSTR('123456789', 1, 2), REPEAT('*', LENGTH('123456789')-4), SUBSTR('123456789', -2));
这个代码中,大家使用LENGTH函数获取原字符串长度,并减去4个字符(前两个和后两个)。然后,使用REPEAT函数生成长度为中间字符串代替字符数目的星号。最后,使用SUBSTR和CONCAT函数将所有字符串组合在一起。