PgSQL在使用jdbcTemplate的query方法查詢數據庫時傳入值爲空報錯

公司開發時遇到的問題,在自己電腦上無法完美還原錯誤和場景
下面sql代碼是入參有時正常查找,無時查找全部數據,在PgSQL數據庫上使用該代碼,入參爲空是會出現錯誤,錯誤原因是參數傳入null值無法識別該傳入類型,oracle和mysql上沒有出現該問題

select * from `notice_mail` where ? is null or id = ?

因爲當時是動態代碼詳細處理比較複雜,這裏講解靜態解決方法

select * from `notice_mail` where ?::int is null or id = ?::int

sql代碼中 ?佔位符後加入::[類型說明]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章