根据不同的输入获得相同的结果

时间:2013-08-20 17:27:27

标签: mysql database

让我转发我的问题。我认为我之前的问题可能会让人困惑。 对不起,感到困惑。

我有一个名为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_id(100),因为vuln_name与输入

完全匹配

但是,输入可以更改。它可以像

“自签名SSL / TLS证书”或“机器自签名SSL / TLS证书”,其中包含自签名SSL / TLS证书

即使输入有额外的字符串,写查询以获取vuln_id(100)的方法是什么。

请查看此链接

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

谢谢。

3 个答案:

答案 0 :(得分:0)

想要以类似但类似的行为进行搜索但反过来,您也可以尝试将其反转:

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

您可以使用输入更改LIKE左侧的文字。

请参阅此fiddle

答案 1 :(得分:0)

试试这个:

SELECT vuln_id 
FROM   vuln_info 
WHERE  vuln_name like "%Self-Signed SSL/TLS Certificate%"

答案 2 :(得分:0)

对于字符串搜索,我们使用like运算符

SELECT vuln_id  FROM vuln_info 
WHERE vuln_name LIKE '%Self-Signed SSL/TLS Certificate%';

您必须根据您的要求使用%op。