您好,登錄后才能下訂單哦!
這篇文章主要講解了“SQL模糊查詢報ORA-00909參數個數無效怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQL模糊查詢報ORA-00909參數個數無效怎么解決”吧!
用oracle數據庫進行模糊查詢時,
原因是因為敲的太快,語法寫錯了
正確的寫法是
pd.code like concat(concat('%',#{keyword}),'%')
java.sql.SQLSyntaxErrorException: ORA-00909: 參數個數無效
用MyBatis進行多參數模糊查詢的時候遇到這個異常,看了下打印日志,發現異常出在預編譯之后,插入實參的時候。
==> Preparing: select role_id, role_name, note from t_role where role_name like concat('%', ?, '%') and note like concat('%', ?, '%')
2018-12-13 20:24:28,567 DEBUG [com.ss.learn.chapter3.mapper.RoleMapper.getRolesByIdAndNote] - ==> Parameters: 1(String), 1(String)
異常提示:參數個數無效。檢查了下SQL語句
select role_id, role_name, note from t_role where role_name like concat('%', ?, '%') and note like concat('%', ?, '%')
發現問題出現在concat上,concat是連接兩個字符串的函數,這里連接了三個,把SQL改成兩個concat嵌套的
<select id="getRolesByIdAndNote" parameterType="map" resultType="role"> select role_id, role_name, note from t_role where role_name like concat(concat('%', #{roleName}), '%') and note like concat(concat('%', #{note}), '%') </select>
運行成功。
感謝各位的閱讀,以上就是“SQL模糊查詢報ORA-00909參數個數無效怎么解決”的內容了,經過本文的學習后,相信大家對SQL模糊查詢報ORA-00909參數個數無效怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。