2013-08-20 46 views
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

谢谢。

+0

如果要匹配字符串中的随机单词,请查看MySQL的全文索引。我认为它可以做你想做的事。 –

+0

我认为这就是“like”运算符的用途 – Floris

+0

所有输入都包含“自签名SSL/TLS证书”。 mysql中是否有匹配或包含函数? – draford

回答

0

婉婷用类似于像,但在相反的行为寻找它,你可以尝试扭转它也:

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

你可以改变你的LIKE左边的文字与您的输入。

看本fiddle

0

工作试试这个:

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

对于字符串搜索,我们使用like操作

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

你必须使用OP%按您的要求。

相关问题