sql >> Databasteknik >  >> RDS >> Mysql

Ta bort en del av strängen inklusive ett specifikt tecken från en sträng med MySQL

Enligt dokumentationen :

 SUBSTRING_INDEX(str,delim,count)

I ditt exempel är str 'STACK\HYUUM.ROOOO'. Var försiktig med '\', det måste escapes eftersom det är en speciell karaktär. För att göra det, ersätt '\' med '\\'. delim är '\\' (escaped också) och antalet är -1 eftersom du vill ha rätt del av delim.

Exempel:

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

Sedan

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

Eller ett enklare exempel:

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

Glöm inte att undkomma snedstrecket i 'STACK\HYUUM.ROOOO'.



  1. Funktion för att ta bort accenter i postgreSQL

  2. Min MySQL-databas är skadad... Vad gör jag nu?

  3. MySQL-angiven nyckel var för lång

  4. Hur importerar man en enorm CSV-fil med 200,00 rader till MySQL (asynkron och snabb)?