1

私の質問を再投稿させてください。私の前の質問は人々を混乱させるかもしれないと思います。混乱させて申し訳ありません。

vuln_info というテーブルがあり、vuln_name に基づいてクエリを実行しようとしています。

このようにクエリすると

SELECT vuln_id FROM vuln_info where vuln_name="Self-Signed SSL/TLS Certificate"

私は次のような行を持っています

vuln_id vuln_name 

 100    Self-Signed SSL/TLS Certificate

vuln_name が入力と完全に一致するため、vuln_id(100) が返されます。

ただし、入力は変更可能です。それはのようにすることができます

「Self-Signed SSL/TLS Certificate present」または「自己署名 SSL/TLS 証明書を含むマシン自己署名 SSL/TLS 証明書」

入力に余分な文字列が含まれていても、vuln_id(100) を取得するクエリを作成する方法は何ですか。

このリンクを確認してください

sqlfiddle.com/#!2/8fc2c/1

ありがとうございました。

4

3 に答える 3

0

like に似ているが逆の動作で検索したい場合は、逆にすることもできます。

SELECT vuln_id 
FROM vuln_info 
WHERE "present Self-Signed SSL/TLS Certificate" like CONCAT('%', vuln_name, '%');

LIKE の左側のテキストを入力で変更できます。

このフィドルで動作するのを見てください

于 2013-08-20T17:31:15.863 に答える