选择包含特定字符的值,即使它们的顺序不同

时间:2017-09-28 11:21:31

标签: mysql

我的问题是我想要一个SQL查询,它允许我选择包含特定字符的值,即使它们的顺序不同。 这是我的清单: https://img11.hostingpics.net/pics/729697contacts1.png

我想只显示包含字符rachid的值,即使它没有按顺序排列,或者单词中包含其他一些字符,这是我应该获得的:

https://img11.hostingpics.net/pics/706919contacts2.png

由于

2 个答案:

答案 0 :(得分:0)

 SELECT *
 FROM [table_name]
 WHERE name <> 'hahaha' and name <> 'hhhhhh'

这会显示您的所有记录并隐藏“hahaha&#39;和&#39; hhhhhh&#39;

更新:

SELECT *
 FROM [table_name]
 WHERE name LIKE '%rachid%' OR
 WHERE name LIKE '%rach id%' OR
 WHERE name LIKE '%rach'id%' OR
 WHERE name LIKE '%rach ide%'

这将为您提供任何行,其中rachid匹配名称字段中的任何位置。 您必须继续添加类似的语句以涵盖其他选项。

我认为你也在谈论不同的价值观,所以你需要 -

SELECT DISTINCT .....

答案 1 :(得分:0)

你可能想要模糊逻辑。 MySql并不支持开箱即用的东西。我找到了&#34; Levenshtein距离&#34;在这种背景下。你应该读一读它。

您可以从sql外部生成搜索值列表。 小php的例子:

Individual components -> Debugging and testing

https://gordonlesti.com/fuzzy-fulltext-search-with-mysql/