Mysql SQL查询:是否替换第二个报价前的空格?
我有一个SQL表,大约有16k行。 该表包含一个varchar列,我需要在其中进行一些批量编辑 我有大约3000行需要编辑,我将给您一个关于它们外观的示例:Mysql SQL查询:是否替换第二个报价前的空格?,mysql,sql,Mysql,Sql,我有一个SQL表,大约有16k行。 该表包含一个varchar列,我需要在其中进行一些批量编辑 我有大约3000行需要编辑,我将给您一个关于它们外观的示例: Lionel Messi plays football for "Barcelona " since a few years back. 我想在第二个引文消失之前的空白处,结束这个结果: Lionel Messi plays football for "Barcelona" since a few years back. 如果执行SEL
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这可能会解决您的问题,它将所有出现的
[space]“[space]
替换为”[space]
。值得注意的是,如果您在该字段中的其他地方有“[space]”[space]
,它也将替换它
UPDATE my_table
SET text = REPLACE(text, ' " ', '" ')
WHERE text LIKE '%"% "%';
由于SQL Server、Oracle、DB2和MySQL上的字符串函数都略有不同,因此最好指定您使用的平台。字符串中最后一个
“
之前的所有替换项都是吗?抱歉,我将添加这些信息。我在MySQL工作。所有替换都在最后一个(和第二个)”之前。