在 MySQL 中使用会话变量仅对字符的第一次出现执行搜索/替换
mysqlmysqli database
要仅对第一次出现执行搜索/替换,请使用 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)