替换MySQL列中的某些文本

时间:2012-09-01 13:16:38

标签: mysql string replace

我在其中有一个表items和一个item_name列,我想替换列所具有的某些文本,例如表items包含以下内容:

  

钢剑

     

Brozne Sword

     

金剑

然后,我想一次性将所有项目的Sword字符串替换为Axe。我试过使用MySQL的REPLACE()函数,但由于某种原因它不起作用...... 如果可能,我该如何替换它?

3 个答案:

答案 0 :(得分:2)

你能告诉为什么UPDATE items SET item_name = REPLACE(item_name, 'Sword', 'Axe');不起作用吗?结果是什么?

答案 1 :(得分:2)

如果您想在使用SELECT

时进行显示,它应该可以使用
SELECT item_name, replace(item_name, 'Sword','Axe')
FROM items

SQLFiddle Demo

但如果您希望值永久更改,请使用UPDATE

UPDATE items
SET item_name = replace(item_name, 'Sword','Axe')

注意:REPLACE()是CASE SENSITIVE

答案 2 :(得分:1)

SELECT
CASE item_name when "Sword" then "Axe"
ELSE item_name
END
FROM TBL