SQL

SELECT SUM(IF(1=1,1,0)) AS `result` FROM sys_user

这种会报错的。

错误信息

Caused by: net.sf.jsqlparser.JSQLParserException: null

at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:154)

at com.baomidou.mybatisplus.core.parser.AbstractJsqlParser.parser(AbstractJsqlParser.java:64)

... 92 common frames omitted

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "(" "("

at line 10, column 19.

Was expecting one of:

"&"

","

"::"

";"

"<<"

">>"

"ACTION"

"ANY"

"AS"

"BYTE"

"CASCADE"

"CAST"

"CHAR"

"COLUMN"

"COMMIT"

"CONNECT"

"DO"

"ENABLE"

"END"

"EXCEPT"

"EXTRACT"

"FIRST"

"FOLLOWING"

"FOR"

"FROM"

"GROUP"

"HAVING"

"INDEX"

"INSERT"

"INTERSECT"

"INTERVAL"

"INTO"

"ISNULL"

"KEY"

"LAST"

"MATERIALIZED"

"MINUS"

"NO"

"NULLS"

"OPEN"

"ORDER"

"OVER"

"PARTITION"

"PERCENT"

"PRECISION"

"PRIMARY"

"PRIOR"

"RANGE"

"REPLACE"

"ROW"

"ROWS"

"SEPARATOR"

"SIBLINGS"

"START"

"TABLE"

"TEMP"

"TEMPORARY"

"TRUNCATE"

"UNION"

"UNSIGNED"

"VALUE"

"VALUES"

"WHERE"

"XML"

"ZONE"

"^"

"|"



<K_DATETIMELITERAL>

<S_CHAR_LITERAL>

<S_IDENTIFIER>

<S_QUOTED_IDENTIFIER>

at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:18597)

at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:18447)

at net.sf.jsqlparser.parser.CCJSqlParser.Statements(CCJSqlParser.java:516)

at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:152)

... 93 common frames omitted

解决办法

将IF换成case when的形式

JSqlParser解析SQL时SUM包裹IF出错的更多相关文章

  1. 使用JSQLParser解析SQL中涉及到的表

    首先添加Maven依赖: <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId& ...

  2. Sql 问题---在尝试加载程序集 ID 65537 时 Microsoft .NET Framework 出错.服务器可能资源不足

    新库是直接复制的模板库 执行存储过程时报如下错 消息 10314,级别 16,状态 11,过程sp_Sync_CmsArticleToSearchs,第 30 行在尝试加载程序集 ID 65645 时 ...

  3. 淘宝数据库OceanBase SQL编译器部分 源代码阅读--解析SQL语法树

    OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务,支持数千亿条记录.数百TB数据上的SQL操作. 在阿里巴巴集团下,OceanBase数据库支持了多个重要业务的数据 ...

  4. 《淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树》

    淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树   曾经的学渣 2014-06-05 18:38:00 浏览1455 云数据库Oceanbase   OceanBase是 ...

  5. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  6. 深入解析SQL Server并行执行原理及实践(上)

    在成熟领先的企业级数据库系统中,并行查询可以说是一大利器,在某些场景下他可以显著的提升查询的相应时间,提升用户体验.如SQL Server, Oracle等, Mysql目前还未实现,而Postgre ...

  7. LINQ to SQL Count/Sum/Min/Max/Avg Join

    public class Linq { MXSICEDataContext Db = new MXSICEDataContext(); // LINQ to SQL // Count/Sum/Min/ ...

  8. atitit.java解析sql语言解析器解释器的实现

    atitit.java解析sql语言解析器解释器的实现 1. 解析sql的本质:实现一个4gl dsl编程语言的编译器 1 2. 解析sql的主要的流程,词法分析,而后进行语法分析,语义分析,构建sq ...

  9. 解析sql中的表名

    最近的项目需求中需要解析sql得表名,由于只需要表名我觉得应该用相对粗暴一点的方式来解析 初步思路: 1.转义字符:去除两个引号连在一起的 2.字符串: 去除所有被引号包裹的 3.括号:识别括号处理 ...

  10. sqlserver 在尝试加载程序集 ID 65537 时 Microsoft .NET Framework 出错.服务器可能资源不足

    报错信息: 处理报表时出错. 对数据集“query”执行查询失败. 在尝试加载程序集 ID 65536 时 Microsoft .NET Framework 出错.服务器可能资源不足,或者不信任该程序 ...

随机推荐

  1. 镜像问题、简易安装,系统语言更改,中文输入,提高下载速度,Firefox的语言更改,Firefox上网速度慢

    一开始用的镜像不记得是从哪里下载过来的,反正 装好之后分辨率特别低.镜像放在: "D:\迅雷下载\2020大创\Ubuntu\ubuntu-16.04.6-desktop-i386.iso& ...

  2. Dynamics CRM 安全模型的性能问题

    性能问题对系统的影响可以是致命性的,一旦不重视,在不久的将来随时可能爆发,导致系统卡顿甚至无法操作,即时重启也无济于事:甚至极其难以发现.这里为自己记录一下过往的经验.系统一开始的设计,很大程度上决定 ...

  3. 部分jdk网盘链接

    链接:https://pan.baidu.com/s/1Nw84qVRL3Buarh2LY1lWEg 提取码:6q2z 含 6u45 7u80 8u202 11.0.X 的win及linux版 没有网 ...

  4. ping Hyper-V内虚拟机网络延迟

  5. HTTP对应状态码

    服务器–响应–客户端 1. 响应体 Accept:告诉浏览器所支持的数据类型Accept-Encoding:表示浏览器支持的编码格式 GBK UTF-8 GB2312 ISO8859-1Accept- ...

  6. 尝试在Ubuntu中安装Emacs遇到的问题

    出现具体问题 今日学习安装emacs在Ubuntu19.04当中 安装详见下方帖子: 链接: 如何在Ubuntu中安装Emacs. 安装遇到问题,即 sudo add-apt-repository p ...

  7. /etc/login.defs 创建用户的默认设置文件

    /etc/login.defs 文件用于在创建用户时,对用户的一些基本属性做默认设置,例如指定用户 UID 和 GID 的范围,用户的过期时间,密码的最大长度,等等.需要注意的是,该文件的用户默认配置 ...

  8. ArrayList集合的方法

    ArrayList元素的增加.插入.删除.清空.排序.反转 using System; using System.Collections; using System.Collections.Gener ...

  9. FTP替代传输方案的优异性体现在哪些方面?

    多年来,FTP一直是最常见的交换文件的方式,FTP-FTPS-SFTP似乎是FTP的不断迭代更新,但是究竟是技术更新导致FTP过时?还是它真的已经满足不了企业的需求了? 之前,大家选择FTP往往是因为 ...

  10. Cloudflare.com设置域名URL转发

    1.登录Cloudflare.com,将语言设置为简体中文,并选择需要设置URL转发的域名. 2.选择域名,需先对域名进行解析,解析地址随便填写,可以填写CloudFlare官方提供的DNS服务器地址 ...