mysql使用带通配符的substring_index从字段中删除不需要的文本

时间:2013-03-01 15:23:40

标签: mysql

我有一张叫做汉堡的桌子。我想清理数据并从汉堡包名称周围删除一些垃圾文本,只在标题字段中使用汉堡包的名称。到目前为止,这是我的小脑子可以集合......

UPDATE hamburgers
SET title = SELECT SUBSTRING_INDEX(title, "My favorite hamburger is called %, I'm not really sure why.   Yesterday was the first time I ate a %", -1) FROM hamburgers
where title like "%My favorite hamburger is called %.%";

我吮吸MySql,但我只是想找到一种方法来删除汉堡名称周围的文字。有大约3,000条记录与汉堡包的名称具有相同的确切文本。 TIA。

1 个答案:

答案 0 :(得分:1)

这可能会让你朝着正确的方向前进:

select substring_index(substring_index("My favorite hamburger is called Whopper, I'm not really sure why.   Yesterday was the first time I ate a Whopper","My favorite hamburger is called ",-1),",",1);

这会给你:

Whopper

所以:

UPDATE hamburgers
SET title = substring_index(substring_index(title,"My favorite hamburger is called ",-1),",",1)
where title like "My favorite hamburger is called %,";

有点依赖汉堡包后面有一个逗号......

相关问题