Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove part of string including a specific character from a string using MySQL

STACK\HYUUM.ROOOO

I need to remove the characters left to

'\'

and the result should be

HYUUM.ROOOO

Please Help

like image 592
jennifer Avatar asked Dec 22 '22 15:12

jennifer


1 Answers

According to the documentation :

 SUBSTRING_INDEX(str,delim,count)

Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. SUBSTRING_INDEX() performs a case-sensitive match when searching for delim.

In your example, str is 'STACK\HYUUM.ROOOO'. Be careful with '\', it must be escaped because it's a special character. To do that, replace '\' by '\\'. delim is '\\' (escaped too) and count is -1 because you want the right part of the delim.

Example :

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

Then

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

Or, a simpler example :

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

Don't forget to escape the backslash in 'STACK\HYUUM.ROOOO'.

like image 64
Sandro Munda Avatar answered Jan 14 '23 05:01

Sandro Munda