Mysql
 sql >> Base de données >  >> RDS >> Mysql

Supprimer une partie de chaîne comprenant un caractère spécifique d'une chaîne à l'aide de MySQL

Selon la documentation :

 SUBSTRING_INDEX(str,delim,count)

Dans votre exemple, str est 'STACK\HYUUM.ROOOO'. Attention au '\', il doit être échappé car c'est un caractère spécial. Pour cela, remplacez '\' par '\\'. delim est '\\' (également échappé) et count est -1 parce que vous voulez la bonne partie du delim.

Exemple :

mysql> SELECT * FROM foo;
+-------------------+
| name              |
+-------------------+
| STACK\HYUUM.ROOOO |
+-------------------+
1 row in set (0.00 sec)

Alors

mysql> SELECT SUBSTRING_INDEX(name, '\\', -1) AS foo FROM foo;
+-------------+
| foo         |
+-------------+
| HYUUM.ROOOO |
+-------------+
1 row in set (0.00 sec)

Ou, un exemple plus simple :

SELECT SUBSTRING_INDEX('STACK\\HYUUM.ROOOO', '\\', -1);

N'oubliez pas d'échapper la barre oblique inverse dans 'STACK\HYUUM.ROOOO'.