簡體   English   中英

使用MySQL從字符串中刪除包含特定字符的字符串部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM