2012-07-29 27 views
0

我有一張表,其中添加了英語字典單詞。現在我有一些似乎重複的記錄,但字符串的長度不同。數據庫報告同一單詞的不同字符長度

例如「阿倫」在我的表重複兩次,但是當我使用此查詢:

select id, word, char_length(word) from my_table; 

我得到以下回:

id | word | char_length 
7 | aaron | 5 
12 | aaron | 6 

哪有char_length變化的相同的詞?我能做些什麼來刪除一個長度超過1的單詞?

+1

額外的字符可能是一些空格。試試'TRIM'。 – Vatev 2012-07-29 20:33:21

回答

0

很可能@Vatev的評論是正確的。

嘗試這兩個查詢:

1. SELECT * FROM my_table WHERE word = 'aaron'; 
2. SELECT * FROM my_table WHERE word like '%aaron%'; 

其中字正是aaron,而第二個將匹配包含亞倫隨時隨地行第一個將只匹配行。如果有多行含有額外內容的行,如空格,則會顯示在第二行,但不是第一行。

一來清理這些重複的可能的方法是運行以下命令:

DELETE FROM my_table WHERE TRIM(word) != word; 

但不要運行盲目 - 它會刪除所有有多餘的空格,即使有ISN」一個匹配的「正確的」條目。