SQL查询:在SECOND引用之前替换空格?

时间:2013-11-22 14:55:50

标签: mysql sql

我有一个大约16k行的SQL表。 该表包含一个varchar列,我需要进行一些批量编辑。

我需要编辑大约3000行,我会举例说明它们的外观:

Lionel Messi plays football for "Barcelona " since a few years back.

我想要在第二个引用之前的空格,并在此结果中结束:

Lionel Messi plays football for "Barcelona" since a few years back.

如果我执行SELECT,我会通过此查询获得所需的行:

SELECT * FROM my_table WHERE text LIKE '%"% "%';

但是当我试图让这个替代时,我无法让它发挥作用。我一直在尝试这个:

UPDATE my_table
SET text = REPLACE(text, '%"% "%', '%"%"%') 
WHERE text LIKE '%"% "%';

任何人都知道如何从这里开始?我的直觉告诉我,我需要从通配符中排除空格,但我不知道如何做到这一点。

我在MySQL 5.5.31

1 个答案:

答案 0 :(得分:0)

这可能会解决您的问题,它会将所有[space]"[space]替换为"[space]。值得注意的是,如果您在该字段中的其他位置[space]"[space],它也将替换它。

UPDATE my_table
SET text = REPLACE(text, ' " ', '" ') 
WHERE text LIKE '%"% "%';