Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Entfernen Sie einen Teil der Zeichenfolge, einschließlich eines bestimmten Zeichens, mithilfe von MySQL aus einer Zeichenfolge

Gemäß der Dokumentation :

 SUBSTRING_INDEX(str,delim,count)

In Ihrem Beispiel ist str 'STACK\HYUUM.ROOOO'. Seien Sie vorsichtig mit '\', es muss maskiert werden, da es sich um ein Sonderzeichen handelt. Ersetzen Sie dazu '\' durch '\\'. delim ist '\\' (ebenfalls maskiert) und count ist -1, weil Sie den rechten Teil des delim wollen.

Beispiel:

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

Dann

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

Oder ein einfacheres Beispiel:

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

Vergessen Sie nicht, den Backslash in 'STACK\HYUUM.ROOOO' zu maskieren.