我有一个MySQL InnoDB数据库。
我在名为article
的“url
”表格中有一栏需要更新。
存储在article.url =
/blog/2010/article-name
/blog/1998/the-article-name
/blog/...
我需要将 /blog/
更改为 /news/
。 (例如现在的article.url ='/ news /...')
在 article.url 列中用“/ news /”替换“/ blog /”所需的SQL是什么?< / p>
答案 0 :(得分:4)
update url
set article = replace(article, '/blog/', '/news/')
where article like '/blog/%'
答案 1 :(得分:1)
如果每个url以“/ blog /”开头并且您不想更改除前缀之外的任何内容,则可以使用substring()和concat()而不是replace():
update article
set url = concat('/news/',substring(url,7))
where url like '/blog/%';
答案 2 :(得分:0)
我最近想在动态中替换MySQL中的字符串,但该字段可能包含2个项目。所以我在REPLACE()
中包含REPLACE()
,例如:
REPLACE(REPLACE(field_name, “what we are looking for”, “replace first instance”),
“something else we are looking for”, “replace second instance”)
这是我用来检测布尔值的语法:
REPLACE(REPLACE(field, 1, “Yes”), 0, “No”)
希望这有帮助!