Sql 解析出错

### Cause: java.lang.RuntimeException: Sql 解析出错. sql=select count(0) from (select

    id, partner_id, bu_id, warehouse_id, stop_payment_dimension, stop_apply_no, settlement_object_code,

    settlement_object_name, contract_code, stop_payment_type, approval_status, effective_time,

    batch_apply, submitter_account, submitter_name, stop_payment_reason, approval_process_id,

    approval_task_def_key, approval_todo_task_id, init_task_def_key, zbbpcg_approver_account,

    approver_account, approver_name, approver_remark, stop_payment_apply_source, istatus,

    create_time, create_by, last_modify_time, last_modify_by

        from stop_payment_apply

         WHERE ( (  istatus = ?

                                        and approval_status = ?

                                        and approval_task_def_key in

                                        (

                                            ?

                                        )

                                        and (approval_task_def_key <>  "zbbpcg" or (approval_task_def_key = "zbbpcg" and (zbbpcg_approver_account = "" or zbbpcg_approver_account like"%2198504%")))

                                        and partner_id = ? ) )

            order by id desc) tmp_count

	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.4.5.jar!/:3.4.5]

	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) ~[mybatis-3.4.5.jar!/:3.4.5]

	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) ~[mybatis-3.4.5.jar!/:3.4.5]

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]

	at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]

	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) ~[mybatis-spring-1.3.2.jar!/:1.3.2]

	... 115 more

本地单测能运行通过,但是一部署,就会出错
原因:对双引号解析出错

 addCriterion("(approval_task_def_key <>  \"zbbpcg\" or (approval_task_def_key = \"zbbpcg\" and (zbbpcg_approver_account = \"\" or zbbpcg_approver_account like\""
                            + value + "\")))");

改成

addCriterion("(approval_task_def_key <>  'zbbpcg' or (approval_task_def_key = 'zbbpcg' and (zbbpcg_approver_account = '' or zbbpcg_approver_account like '"
                            + value + "' )))");
ClickHouse 是一种高性能的列式数据库管理系统 (DBMS),主要用于实时数据分析、日志处理和大数据分析等场景。它特别适合于需要快速响应查询并能够处理大量数据的应用。 ### ClickHouse SQL 解析工具 #### 作用 点击屋 SQL 解析工具主要用于帮助用户理解和调试 ClickHouse 查询语句。它提供了一个可视化的界面,允许用户输入 SQL 查询,并查看其内部表示形式(如 AST 树)、优化步骤以及最终生成的执行计划。这对于理解如何优化查询性能、调试错误和学习 ClickHouse 的查询语法非常有帮助。 #### 功能特性 1. **SQL 语法检查**:验证输入的 SQL 语句是否符合 ClickHouse 的语法规范,帮助识别潜在的语法错误。 2. **查询树可视化**:展示查询的抽象语法树(AST),有助于了解查询执行的逻辑流程。 3. **优化步骤显示**:展示 SQL 查询的优化过程,包括对表的访问模式选择、索引使用情况等方面的优化决策。 4. **执行计划查看**:呈现最终用于执行查询的详细计划,包括数据读取策略、内存分配、并行度设置等信息。 #### 使用方法 通常,这类工具作为独立软件或作为 ClickHouse 自身的一部分提供。用户可以通过连接到运行在本地或远程服务器上的 ClickHouse 数据库实例,然后通过命令行接口或图形化界面提交 SQL 查询来进行操作。一些第三方工具可能会提供额外的功能,比如自动建议完成、代码片段预览等,进一步提升用户体验。 #### 应用场景 - **学习与教育**:帮助初学者更好地理解 ClickHouse 的查询机制和优化策略。 - **故障排查**:当查询执行速度慢或出错时,解析工具可以提供深入洞察,协助定位问题所在。 - **性能分析**:通过对执行计划的详细观察,可以深入了解系统资源利用情况,进而调整配置以提高效率。 #### 相关问题: 1. 如何集成第三方 SQL 解析工具以增强 ClickHouse 的查询调试功能? 2. 在 ClickHouse 中,如何手动控制查询的执行计划以优化性能? 3. ClickHouse SQL 解析工具支持哪些高级特性,例如解释型查询、批处理查询等?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值