开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

问一下 Hologres 在mybatis里使用 isnull 为什么会报错?

问一下 Hologres 在mybatis里使用 isnull 为什么会报错? 使用is null就没问题.报错信息 syntax error, expect THEN, actual IDENTIFIER pos 271, line 1, column 266, token IDENTIFIER ISNULL

展开
收起
真的很搞笑 2023-11-21 08:31:37 556 4
2 条回答
写回答
取消 提交回答
  • 在Hologres的SQL语法中,IS NULL是用于判断某个字段是否为null的关键字,而ISNULL则是一个用户定义的函数,用于判断一个表达式是否为null。因此,你应该使用IS NULL而不是ISNULL

    在你的代码中,你可能使用了ISNULL,这导致了语法错误。你应该将其改为IS NULL

    另外,Hologres的SQL语法还有一些其他的特性和注意事项,例如,它不支持某些复杂的CASE语句,也不支持某些复杂的聚合函数。在使用Hologres时,你应该参考其官方文档,了解其SQL语法的特性和限制。

    2023-11-21 15:17:16
    赞同 4 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您提供的错误信息,“syntax error, expect THEN, actual IDENTIFIER pos 271, line 1, column 266, token IDENTIFIER ISNULL”,表明在SQL语句中的语法有问题,期待THEN,但实际上遇到了IDENTIFIER(标识符),位置为第271个字符,行号为1,列号为266,token类型为IDENTIFIER ISNULL。
    这是因为Mybatis使用了Java的命名规则,即大小写敏感,而ISNULL是一个保留字,因此需要用全大写字母书写。所以在Mybatis中使用isnull会报错,而使用is null就没有问题。

    2023-11-21 13:44:00
    赞同 3 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    实时数仓Workshop(广州站)- 李佳林 立即下载
    阿里云实时数仓Hologres技术揭秘2.0 立即下载
    实时数仓Hologres技术实战一本通2.0版(下) 立即下载