我有一个表格,其中有一个'text'类型的列。我知道我可以比较两个条目,看看是否使用简单的select语句是相同的。有没有办法比较两个条目并返回它们的相似程度?更具体地说,可以说两者之间有多少个字符不同?
例如,假设一个条目是:
This is a line.
另一个是:
This is a line. And another.
我相信我可以写一个select语句,说明第二个包含的第一个。但有没有办法提醒我第一个是第二个并且第二个中有15个额外的角色?
答案 0 :(得分:1)
尝试使用Levinshtein距离http://www.artfulsoftware.com/infotree/queries.php#552
答案 1 :(得分:0)
您可以使用LENGTH和LIKE来执行此操作。 E.g:
INSERT INTO test VALUES("HELLO WORLD");
select LENGTH(name)-length("HELLO") from test where name like "%HELLO%";
因此,您需要以编程方式将HELLO替换为您要搜索的字符串。
那是你在找什么?
答案 2 :(得分:0)
你可以用char_length()
简单地测量两者的长度并减去差异吗?
MySQL: char_length()
(请注意,length()
和char_length()
会返回不同的值!)