我有一张桌子,其中我添加了英语字典单词。现在我有一些似乎重复的记录,但字符串的长度不同。
例如'aaron'在我的表中重复两次,但是当我使用此查询时:
select id, word, char_length(word) from my_table;
我得到以下回复:
id | word | char_length
7 | aaron | 5
12 | aaron | 6
char_length
如何改变同一个单词?如何删除长度超过1的单词?
答案 0 :(得分:0)
@Vatev很可能会在他的评论中走上正轨。
尝试以下两个问题:
1. SELECT * FROM my_table WHERE word = 'aaron';
2. SELECT * FROM my_table WHERE word like '%aaron%';
第一个只匹配单词正好aaron
的行,而第二个匹配任何地方包含aaron的行。如果存在具有额外内容的行,例如空白,则它们将显示在第二行中,而不是第一行。
清理这些重复项的一种可能方法是运行以下命令:
DELETE FROM my_table WHERE TRIM(word) != word;
但是不要盲目地运行 - 它会删除带有额外空格的所有行,即使没有匹配的“正确”条目。