开发者社区 > 数据库 > 数据仓库 > 正文

云数据仓库ADB报错,什么原因?

云数据仓库ADB MATCH (text1, text2) fuzzy ('test') AS score
会报错:
Unexpected symbol [text1, text2] in projectNode =>
什么原因?

展开
收起
嘟嘟嘟嘟嘟嘟 2024-04-24 08:18:03 31 0
1 条回答
写回答
取消 提交回答
  • 在您提供的SQL语句中:

    MATCH (text1, text2) fuzzy ('test') AS score
    

    出现报错“Unexpected symbol [text1, text2] in projectNode”,这是因为您使用的MATCH函数语法不符合ADB MySQL数据库全文检索的规范。
    根据所给知识:

    MATCH()函数配合FUZZY()用于实现模糊匹配查询,其基本语法为:

    SELECT * FROM table_name WHERE match (column_name) fuzzy('term') [max_edits(n)];
    

    在这个语法结构中,MATCH()函数应接一个单个列名作为全文检索的目标字段,而您在MATCH函数内使用了(text1, text2),即提供了两个列名,这与规定格式不符,导致了语法错误。
    正确的使用方式是针对单个列进行模糊匹配查询,例如:

    MATCH(text1) fuzzy ('test') AS score
    

    若需同时对text1和text2两列进行模糊匹配,由于MATCH不支持直接处理多个列,您可能需要分别进行查询,或者考虑结合其他查询条件(如OR、AND等逻辑运算符)来达成目标。
    综上所述,您的SQL语句中MATCH函数的参数部分不符合ADB MySQL数据库全文检索的规范要求,导致了语法错误。您应按照提供的知识文档中的示例,调整为针对单个列进行模糊匹配查询。
    此回答整理自钉群“云数据仓库ADB-开发者群”

    2024-04-24 15:19:39
    赞同 展开评论 打赏

阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 热门讨论

    热门文章

    相关电子书

    更多
    消电行业数据中台解决方案白皮书 立即下载
    (终极版)2020阿里云金融数据中台报告 立即下载
    2020年中国乳制品行业数据中台研究报告 立即下载