Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL查询:是否替换第二个报价前的空格?_Mysql_Sql - Fatal编程技术网

Mysql SQL查询:是否替换第二个报价前的空格?

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

我有一个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.
如果执行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工作。所有替换都在最后一个(和第二个)”之前。