开发者

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


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'.


Try with:

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


REPLACE('STACK\HYUUM.ROOOO','\\','');

ups mistake. I'll try to find solution.


I got the it :)

select employee_id,emp_email,SUBSTRING_INDEX(user_name, '\\', -1) 
from employee_master
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜