0

タイプ「テキスト」の列があるテーブルがあります。2 つのエントリを比較して、単純な select ステートメントを使用して同じかどうかを確認できることはわかっています。2 つのエントリを比較し、類似度を返す方法はありますか? より具体的には、両者の間で何人の文字が異なるかを言えますか?

たとえば、1 つのエントリが次のようになっているとします。

This is a line.

そしてもう一つは:

This is a line.  And another.

私は、1 番目が 2 番目に含まれているという select ステートメントを書くことができると信じています。しかし、最初の文字が 2 番目の文字であり、2 番目の文字が 15 文字余分にあることを警告する方法はありますか?

4

3 に答える 3

1

レビンシュタイン距離http://www.artfulsoftware.com/infotree/queries.php#552を使用してみてください

于 2012-06-15T20:15:40.710 に答える
0

これを行うには、LENGTH を LIKE と共に使用できます。例えば:

INSERT INTO test VALUES("HELLO WORLD");
select LENGTH(name)-length("HELLO") from test where name like "%HELLO%";

したがって、HELLO を、検索したい文字列にプログラムで置き換える必要があります。

それはあなたが探していたものですか?

于 2012-06-15T20:18:28.937 に答える
0

両方の長さを文字列として単純に測定しchar_length()、差を差し引くことができますか? MySQL: char_length()

length()( と が異なる値をchar_length()返すことに注意してください!)

于 2012-06-15T20:20:51.320 に答える