天天看点

java.sql.SQLSyntaxErrorException: ORA-00904: "**": 标识符无效

Oracle的模糊查询

<!-- oracle -->

<select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">

 select * from t_user where user_name like CONCAT('%',#{search_name},'%')

</select>

<!-- 或者 -->

 select * from t_user where user_name like '%'||#{search_name}||'%'

按道理说应该没问题,参考了网上很多文章 都说是逗号问题等等 但是感觉自己的情况不一样

JSBH为 查询的字段

select  <include refid="attr"/> from JG_JXRWB where XN=#{xn} and XQ=#{xq} and JSBH like  ‘%’||#{jsbh}||‘%’

java.sql.SQLSyntaxErrorException: ORA-00904: &amp;quot;**&amp;quot;: 标识符无效

尝试改为:

select  <include refid="attr"/> from JG_JXRWB where XN=#{xn} and XQ=#{xq} and JSBH like  CONCAT(CONCAT('%',#{jsbh}), '%')

还是有问题  

在阿里云服务器上都可以

最终发现了原因:

其实是实际的表结构和 阿里云的有出入

巨坑啊,浪费了大把时间

————————————————

版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/w605283073/article/details/50518094