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_id(100) 因为 vuln_name 与输入完全匹配

但是,输入可以是可变的。它可以像

“存在自签名 SSL/TLS 证书”或“机器自签名 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 回答
0

尝试这个:

SELECT vuln_id 
FROM   vuln_info 
WHERE  vuln_name like "%Self-Signed SSL/TLS Certificate%"
于 2013-08-20T17:31:42.833 回答
0

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

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

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

于 2013-08-20T17:31:50.323 回答