2011-07-16 75 views
8

我有一個從CSV文件導入的MySQL表。在這個過程中,一些條目具有引號和尾隨多個數據行的條目。例如表'example_table'我有一個名爲'title'的行。有些標題寫爲:如何修剪MySQL行的引導和尾隨引用?

"title1" 
"title2" 
"title3" 

有的不帶引號寫着:

title4 
title5 
title6 

我已經嘗試了各種SQL調用來修剪行,但我不斷收到錯誤。這是我的SQL調用:

SELECT * FROM `example_table` TRIM(LEADING '"' FROM "title") 

這是從MySQL的錯誤,當我運行的呼叫:

1064 - 你在你的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以便使用正確的語法

我該如何解決行中所有尾部和引號引號的問題?

回答

33

嘗試:

UPDATE `example_table` 
    SET `title` = TRIM(BOTH '"' FROM `title`) 

此查詢將更新您的example_table刪除前導和title列的值尾隨雙引號。

如果您不想更新表格,但想要刪除帶雙引號的行,請使用@Sam Dufel的答案。

+1

其他方法工作了改變的值,但你的答案居然更新這是我所需要的桌子。謝謝:) – Presto

4

只是修改成

SELECT TRIM(BOTH '"' FROM title) AS trimmed_title FROM `example_table` 
+0

如何修剪所有列而不指定列名? – Rida

2

這對我的作品

select trim(both '"' from column_name) from table_name; 
+0

此解決方案的工作原理! 但我如何修剪所有列而不指定列名? – Rida

3

這解決了我的問題

UPDATE table_name SET column_name = REPLACE(column_name,'"','') 
+0

此方法也可能會刪除內部字符串中的引號。 – Belter