问一下 Hologres 在mybatis里使用 isnull 为什么会报错? 使用is null就没问题.报错信息 syntax error, expect THEN, actual IDENTIFIER pos 271, line 1, column 266, token IDENTIFIER ISNULL
问一下 Hologres 在mybatis里使用 isnull 为什么会报错?[阿里云实时数仓]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
问一下 Hologres 在mybatis里使用 isnull 为什么会报错? 使用is null就没问题.报错信息 syntax error, expect THEN, actual IDENTIFIER pos 271, line 1, column 266, token IDENTIFIER ISNULL
在Hologres的SQL语法中,
IS NULL是用于判断某个字段是否为null的关键字,而ISNULL则是一个用户定义的函数,用于判断一个表达式是否为null。因此,你应该使用IS NULL而不是ISNULL。在你的代码中,你可能使用了
ISNULL,这导致了语法错误。你应该将其改为IS NULL。另外,Hologres的SQL语法还有一些其他的特性和注意事项,例如,它不支持某些复杂的CASE语句,也不支持某些复杂的聚合函数。在使用Hologres时,你应该参考其官方文档,了解其SQL语法的特性和限制。
根据您提供的错误信息,“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就没有问题。