我有一个大约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
答案 0 :(得分:0)
这可能会解决您的问题,它会将所有[space]"[space]
替换为"[space]
。值得注意的是,如果您在该字段中的其他位置[space]"[space]
,它也将替换它。
UPDATE my_table
SET text = REPLACE(text, ' " ', '" ')
WHERE text LIKE '%"% "%';