簡體   English   中英

MySql僅替換列中的單個單詞

[英]mySql replace only a single word in a column

我試圖單獨使用mySql,試圖用microsoft-corp替換microsoft一詞。

我嘗試使用此sql, update names set names = replace(names,'microsoft','microsoft-corp') ,但是它將替換每個microsoft 有沒有一種方法可以使它僅替換Microsoft這個詞?

原始數據

"id"    "names"
"1"     "/microsoft"
"2"     "/microsoft/microsoft-word"
"3"     "/microsoft/microsoft-word/microsoft-word-tutorials"
"4"     "/microsoft/microsoft-word/microsoft-word-tutorials/examples"

"id"    "names"
"1"     "microsoft >"
"2"     "microsoft > microsoft-word"
"3"     "microsoft > microsoft-word > microsoft-word-tutorials"
"4"     "microsoft > microsoft-word > microsoft-word-tutorials > examples"

預期正確的結果

"id"    "names"
"1"     "/microsoft-corp"
"2"     "/microsoft-corp/microsoft-word"
"3"     "/microsoft-corp/microsoft-word/microsoft-word-tutorials"
"4"     "/microsoft-corp/microsoft-word/microsoft-word-tutorials/examples"

使用我上面的查詢當前不正確的結果

"id"    "names"
"1"     "/microsoft-corp"
"2"     "/microsoft-corp/microsoft-corp-word"
"3"     "/microsoft-corp/microsoft-corp-word/microsoft-corp-word-tutorials"
"4"     "/microsoft-corp/microsoft-corp-word/microsoft-corp-word-tutorials/examples"

怎么樣:

update names set names = replace(names,'/microsoft/','/microsoft-corp/')

update names set names = '/microsoft-corp' where names = '/microsoft'

update names set names = replace(names,'microsoft >','microsoft-corp >')

我可能會分兩次通過,盡管您可能一次就能做到。

update names set names = replace(names,'/microsoft/','/microsoft-corp/');
update names set names = '/microsoft-corp' where names = '/microsoft';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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