天天看點

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