这句sql为何报错== Preparing SELECT COUNT1 FROM select ID_REF_ID_PARENT_ID_UPDATE_VERSION_DATE_IN_WORK_ID_NAME_POST_NAME_POST_CODE_SLY_GRADE_COMP_CODECOMP_NAMEDEPT_NAME_DEPT_ID_LEAVE_OR_TRANSFER_DATE_OUT_TR
这句SQL报错的原因是在参数部分的拼接有问题。具体地说,是在参数 (COMP_CODE in ? or SIGN_COMP_CODE in ?) 的拼接上出错。
根据给出的参数值 (C0014,D38A070100,C0015,D0013A00000,D0012A00000,1623861300952780801,C0000,D00A230000,D00A002800,D00A002900,D00A001800,D00A113500,D00A001000,D0010A00000,D0010A00001,D0011A00000,D00A000100,D00A084300),可以看到这是一个以逗号分隔的字符串。
在SQL语句中,使用了 in ? 的语法,表示需要传入一个参数值来替代 ?。但是现在传入的是一个字符串,而不是一个参数值。所以会报错。
要解决这个问题,可以考虑使用动态拼接SQL语句的方式,将参数值转换成合适的形式再拼接到SQL语句中,或者使用其他适合的方式来处理这个参数。
原文地址: https://www.cveoy.top/t/topic/ixgi 著作权归作者所有。请勿转载和采集!