现象:⬇️

描述:执行 SQL 没问题,应用代码报错 ⬇️
.mybatis.interceptor.exception.SqLValidateException:Ilegal SQL::SELECT voucherNo FROM voucher ORDER BY CAST(SUBSTRING(voucherNo FROM LOCATE('_', voucherNo) + 1) AS UNSIGNED) DESC LIMIT 1
尝试:添加 <script>、更换 MySQL 版本、更换更通用的 SQL 内置函数、Google …(无果)
进一步检验:换了一个基本查询试试会不会出现同样的问题,结果没啥卵用

 尝试1:添加一定的条件:WHERE 1 = 1 无果…
 尝试2:添加一定的条件:WHERE id > 0 成功!!!!
@Select("SELECT voucherNo FROM " + BASE_TABLE + " WHERE id > 0 ORDER BY CAST(SUBSTRING(voucherNo FROM LOCATE('_', voucherNo) + 1) AS UNSIGNED) DESC LIMIT 1")String getMaxVoucherNo();

??? Why,望有缘人解惑。