要仅对第一次出现的情况执行搜索/替换,请使用 CONCAT 和 REPLACE() 函数。
查询如下以设置用户定义的会话变量 -
mysql> set @Sentence='Thks ks is a my string';
Query OK, 0 rows affected (0.00 sec)
登录后复制
在此,k 只会被 i 替换一次。查询如下。我们也使用了 INSTR() -
mysql> select @Sentence as NewString ,CONCAT(REPLACE(LEFT(@Sentence,
INSTR(@Sentence, 'k')), 'k', 'i'),
-> SUBSTRING(@Sentence, INSTR(@Sentence, 'k') + 1)) as ChangeOnlyOneTime;
登录后复制
以下是仅显示第一次出现的字符被替换的输出 -
+------------------------+------------------------+
| NewString | ChangeOnlyOneTime |
+------------------------+------------------------+
| Thks ks is a my string | This ks is a my string |
+------------------------+------------------------+
1 row in set (0.00 sec)
登录后复制
以上就是仅对 MySQL 中会话变量第一次出现的字符执行搜索/替换的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!