SQL の質問で where ステートメントがどの程度一致するかのパーセンテージを取得する可能性はありますか?
PHP 関数 similar_text のようなもの ( http://php.net/manual/en/function.similar-text.php )
私の考えでは、SQL の質問で、where ステートメントが 95% 以上一致するかどうかを確認してから続行する必要があります。
これは可能ですか?はいの場合、どうすればよいですか?
編集:
表:車
id type description
1 Toyota Nice car that runs very fast and have a big engine.
次に、次の $description = '非常に速く走り、非常に大きなエンジンを搭載した非常に素晴らしい車です。' を含む文字列を取得します。
$description 文字列で既存の説明と 95% 一致する説明があるかどうか、テーブル "Car" を確認したいと思います。ない場合は、テーブルに追加する必要があります。95% 以上の一致がある場合は、テーブルに追加しないでください。
EDIT2: 私のコードは次のようになります:
$query = $this->db->query('SELECT * FROM table
WHERE MATCH (title)
AGAINST ("The test text here " IN NATURAL LANGUAGE MODE)');
$i = 1;
foreach ($query->result() as $row)
{
echo $i . '. ';
echo $row->title;
echo "<br>";
$i++;
}
上記のコードでは、最初に「最も一致する」結果が得られ、2 番目に次のような結果が得られます。今、私はこれを印刷します。出力された最初の一致でPHP関数similar_textを使用して、一致の割合を取得するソリューションを確認しました。その後、95% 以上一致するかどうかを判断して、投稿を DB に追加します。しかし、私のPHPコードではなく、代わりにSQLの質問でこれを行う方法はありますか?