STACK\HYUUM.ROOOO
我需要删除留下的字符
'\'
,结果应为
HYUUM.ROOOO
请帮助
答案 0 :(得分:6)
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'中的反斜杠。
答案 1 :(得分:3)
尝试:
SUBSTRING_INDEX('STACK\HYUUM.ROOOO', '\\', -1)
答案 2 :(得分:1)
REPLACE('STACK\HYUUM.ROOOO','\\','');
错误。我会尽力找到解决方案。
答案 3 :(得分:1)
我知道了:)
select employee_id,emp_email,SUBSTRING_INDEX(user_name, '\\', -1)
from employee_master