首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mySql只替换列中的一个单词

mySql只替换列中的一个单词
EN

Stack Overflow用户
提问于 2014-01-22 13:31:36
回答 2查看 126关注 0票数 1

仅使用mySql,我就试图用微软公司取代微软这个词。

我尝试使用这个sql,update names set names = replace(names,'microsoft','microsoft-corp'),但这取代了每个microsoft。有没有办法让它只取代微软这个词?

原始数据

代码语言:javascript
复制
"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"

预期的正确结果

代码语言:javascript
复制
"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"

当前的不正确结果使用我在上的查询

代码语言:javascript
复制
"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"
EN

回答 2

Stack Overflow用户

发布于 2014-01-22 13:35:10

不如:

代码语言:javascript
复制
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 >')
票数 2
EN

Stack Overflow用户

发布于 2014-01-22 13:37:10

我可能会在两次传球中做到这一点,尽管你可以在一次传球中做到这一点。

代码语言:javascript
复制
update names set names = replace(names,'/microsoft/','/microsoft-corp/');
update names set names = '/microsoft-corp' where names = '/microsoft';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21284321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档