为了账号安全,请及时绑定邮箱和手机立即绑定

如何让sqlite查询在mysql上工作?

如何让sqlite查询在mysql上工作?

PHP
繁花如伊 2021-09-05 16:29:06
我有 sqlite 查询我想让它在 mysql 数据库上工作我使用 MATCH AND AGAINST 但如果你看到这部分没有帮助'TEST:^hello ' 我怎样才能做到这一点?谢谢SELECT * FROM table_a MATCH 'TEST:^hello ' AND test2 = 'hello' 我现在在我的 MySql 查询中使用 MATCH , AGAINST 并且我想找到所有以“hello”开头的单词(你看到 hello 后面的空格!)那么我如何使用带有 MATCH AND AGAINST 的 FULLTEXT 搜索来做到这一点?wordshellohello how are youyou are good hellohello ?nice hello fineI want this hellohello ?hello how are younice hello fine you are good hello
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

我现在在我的 MySql 查询中使用 MATCH , AGAINST 并且我想找到所有以“hello”开头的单词(你看到 hello 后面的空格!)那么我如何使用带有 MATCH AND AGAINST 的 FULLTEXT 搜索来做到这一点?


由于MATCH() AGAINST()在 MySQL 中不支持REGEX,我很可能会选择。


SELECT 

 *

FROM (


  SELECT 

   *

  FROM

   test

  WHERE

   MATCH(word) AGAINST('+hello ')      

) AS fulltext_scan

WHERE 

 fulltext_scan.word REGEXP '^hello '

或者


SELECT 

 *

FROM (


  SELECT 

   *

  FROM

   test

  WHERE

   MATCH(word) AGAINST('+hello ')


) AS fulltext_scan

WHERE 

 fulltext_scan.word LIKE 'hello %'

内部 sql(交付表)的工作方式限制了结果,MATCH(word) AGAINST('+hello ')并且可以使用FULLTEXT 索引来加速它。

使用 REGEX 或 LIKE 匹配结果集的外部 SQL 过滤器仅匹配 hello 开头。


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信