[英]Remove part of string including a specific character from a string using MySQL
STACK\HYUUM.ROOOO
我需要删除留下的字符
'\'
结果应该是
HYUUM.ROOOO
请帮忙
根据文件 :
SUBSTRING_INDEX(str,delim,count)
在分隔符delim的计数出现之前,从字符串str返回子字符串。 如果count为正数,则返回最终分隔符左侧的所有内容(从左侧开始计算)。 如果count为负数,则返回最终分隔符右侧的所有内容(从右侧开始计算)。 搜索delim时,SUBSTRING_INDEX()执行区分大小写的匹配。
在您的示例中,str是'STACK \\ HYUUM.ROOOO'。 小心'\\',它必须被转义,因为它是一个特殊字符。 为此,请将'\\'替换为'\\\\'。 delim是'\\\\'(也是转义),count是-1,因为你想要正确的delim部分。
示例:
mysql> SELECT * FROM foo;
+-------------------+
| name |
+-------------------+
| STACK\HYUUM.ROOOO |
+-------------------+
1 row in set (0.00 sec)
然后
mysql> SELECT SUBSTRING_INDEX(name, '\\', -1) AS foo FROM foo;
+-------------+
| foo |
+-------------+
| HYUUM.ROOOO |
+-------------+
1 row in set (0.00 sec)
或者,一个更简单的例子:
SELECT SUBSTRING_INDEX('STACK\\HYUUM.ROOOO', '\\', -1);
不要忘记逃避'STACK \\ HYUUM.ROOOO'中的反斜杠。
试试:
SUBSTRING_INDEX('STACK\HYUUM.ROOOO', '\\', -1)
REPLACE('STACK\HYUUM.ROOOO','\\','');
错误。 我会尽力找到解决方案。
我明白了:)
select employee_id,emp_email,SUBSTRING_INDEX(user_name, '\\', -1)
from employee_master
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.