Mysql在需要查询时替换字符串

时间:2015-04-20 23:12:06

标签: mysql string replace

我有一张名为k01cv_sh404sef_urls的表格 在此表中,我们有以下行:

id, cpt, rank, oldurl, newurl and dateadd

行“oldurl”包含条目,例如:

English/network
English/hardware-and-software
corporate-social-responsibility

我想要一个查询,从“oldurl”行中的所有项目中删除英语/部分,以便英语/网络只是网络,英语/硬件和软件将是硬件和 - 软件等

结果是行“oldurl”包含条目,例如:

network
hardware-and-software
corporate-social-responsibility

2 个答案:

答案 0 :(得分:1)

你能逃脱这么简单的事吗?

UPDATE table SET oldurl = REPLACE(oldurl, 'English/', '');

(请先在真实数据上运行之前使用SELECT进行测试!)

答案 1 :(得分:1)

UPDATE k01cv_sh404sef_urls
SET    oldurl = SUBSTRING(oldurl FROM 9)
WHERE  oldurl LIKE 'English/%'

这不仅仅是读取/尝试仅更新匹配的记录(如果您的表很大但具有oldurl是最左侧列的索引,这将产生特定的性能优势),但也只会删除出现在字符串最开头的'English/'