Mysql 用于搜索最长公共前缀的SQL查询

Mysql 用于搜索最长公共前缀的SQL查询,mysql,search,prefix,Mysql,Search,Prefix,在我的数据库中,我有一个带有VARCHAR(255)列的表产品。在该列中,我存储了我所有的产品名称 现在我要实现一个简单的搜索引擎,看看这个专栏。我希望使用like语句作为字符串上的精确匹配==限制太大,但我只希望匹配PRODNAME列文本中的前缀。如何做到这一点?谢谢 您可以使用通配符(百分号),即 从PRODNAME喜欢的“prefix%”的产品中选择* 要搜索所有子字符串,请使用: 从PRODNAME类似“%substring%”的产品中选择* 或后缀: 从产品中选择*,其中PRODNA

在我的数据库中,我有一个带有VARCHAR(255)列的表产品。在该列中,我存储了我所有的产品名称


现在我要实现一个简单的搜索引擎,看看这个专栏。我希望使用like语句作为字符串上的精确匹配==限制太大,但我只希望匹配PRODNAME列文本中的前缀。如何做到这一点?谢谢

您可以使用通配符(百分号),即

从PRODNAME喜欢的“prefix%”的产品中选择*

要搜索所有子字符串,请使用:

从PRODNAME类似“%substring%”的产品中选择*

或后缀:


从产品中选择*,其中PRODNAME如“%suffix”

向我们显示。当然是VARCHAR(255)。谢谢你指出输入错误,没问题,但是在自然语言文本中搜索前缀时怎么办?LIKE操作数对空格字符有效吗?是的,如果在空格后添加通配符,则有效。为什么不试试看会发生什么?这里是我的查询:从prodname类似“*%”或prodname类似“*%”的产品中选择*。。。在哪里等等。。文本标记是根据用户在搜索中输入的实际字符串计算出来的吗?不确定为什么在标记之前添加星号,但是可以,您可以将用户输入作为变量,并使用它来构建查询。