mysql - 如何通过部分字符串查找单词

标签 mysql sql

几个小时以来我一直在尝试解决这个问题,但我不知道如何解决它,所以我需要朝着正确的方向前进。

我想创建一个页面,用户可以通过提供单词长度和字符来找到合适的单词。

例如,用户要查找所有5个字母的单词,其中第二个字母是R,第四个字母是V,像这样:

_R_V_

我有一个表,其 WORDS 列包含单词“letter”、“moon”、“drive”、“mrive”,查询应返回:“drive”和“mrive”。

是否可以在 MySQL 中实现?

在寻找方向的过程中,我发现我应该创建一个trie结构。我不知道该怎么做,但如果没有更简单的方法,我会学习它。

最佳答案

是的,您可以使用 LIKE :

SELECT * FROM YourTable t
WHERE t.word_col LIKE '_R_V_'

_ 通配符代表任何单个字符。这也将强制字符串的长度为 5 个字符,因为未使用 % 通配符。

您可以在上面的链接中找到有关 LIKE 通配符的精彩解释。

关于mysql - 如何通过部分字符串查找单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38243169/

相关文章:

sql - 一条语句中包含所有名称的查询表

mysql - 如何仅使用 sql 语法(不使用 PHP)在 mysql 表中的 blob 中插入图像?

mysql - 从链接列可以为空的两个表中选择

sql - 游标和 View 有什么区别?

sql - 获取包含 % 作为 SQL 中字母之一的所有列

MySQL触发器: copy auto_increment value to another column upon insert

MySql - 如何获取上一行的值和下一行的值?

mysql - 我们可以将什么条件作为 JOIN 的 ON 的一部分?

php - 在 Laravel 5 中将 `dateTime` 列拆分为单独的 `date` 和 `time` 列

sql - Postgresql句子性能