2013-11-22 34 views
0

我有一個約16k行的SQL表。 該表包含一個varchar列,我需要進行一些批量編輯。SQL查詢:在第二個引號之前替換空格嗎?

我有大約3000行,我需要編輯和我給你上他們如何看一個例子:

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

我想要的空白第二個引號消失之前和在此結果落得:

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

如果我做一個選擇,我得到的,我想這個查詢的行:

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

但是,當我試圖讓這一個進入替代時,我無法讓它工作。我一直在嘗試這一個:

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

任何人有任何想法如何從這裏開始?我的直覺告訴我,我需要從通配符中排除空白空間,但我不知道如何做到這一點。

我在MySQL的31年5月5日

+3

由於SQL Server,Oracle,DB2和MySQL上的字符串函數都略有不同,因此指定您使用的平臺總是一個好主意。 – Hogan

+0

是否所有的替換都在字符串中的最後一個'''之前? – Hogan

+0

對不起,我將添加該信息。我正在使用MySQL。 所有替換都在最後(和第二)之前「。 – henwil

回答

0

這可能會解決你的問題,它取代的[space]"[space]所有出現的"[space]。值得注意的是,如果您在該領域的其他地方有[space]"[space],它也將取代它。

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