前提
MySQLのcharsetをutf8mb4に設定しておくとマルチバイト文字を保存することができます。
しかし、クライアント側の環境でマルチバイト文字を扱えない場合、SQL中に埋め込むことができなかったりします。
mysql> select name from user;
+-----------+
| name |
+-----------+
| 𠮷田 |
+-----------+
| 尾𥔎 |
+-----------+
mysql> select replace(name, 'ð ®·', '吉') from user;
+-----------------------------+
| replace(name, 'ð ®·', '吉') |
+-----------------------------+
| 𠮷田 |
+-----------------------------+
| 尾𥔎 |
+-----------------------------+
解決方法
この場合、いったんhex関数で16進数のコードを取得して、0x〜のリテラルで文字を指定すればSQLに埋め込むことができます。
mysql> select hex(name) from user;
+----------------+
| hex(name) |
+----------------+
| F0A0AEB7E794B0 |
+----------------+
| E5B0BEF0A5948E |
+----------------+
mysql> select replace(name, 0xF0A0AEB7, '吉') from user;
+---------------------------------+
| replace(name, 0xF0A0AEB7, '吉') |
+---------------------------------+
| 吉田 |
+---------------------------------+
| 尾𥔎 |
+---------------------------------+