我這邊在改硬編譯sql的代碼,遇到了需要設定in的引數,傳參試過字串、陣列、集合,都不能使用。
請教一下in傳值這邊需要怎么設定他的引數
使用集合傳值的代碼如下
sql.append(" AND a.Request_No in (:requestNos)");
List list = new ArrayList<String>();
list.add("012050304374");
list.add("011120608114");
map.put("requestNos", list);
uj5u.com熱心網友回復:
-- 直接拼接進來,注意處理一下 SQL 注入。sql.append(" AND a.Request_No in ('012050304374','011120608114')");
uj5u.com熱心網友回復:
原來就是拼接的,想改成不是拼接出來的uj5u.com熱心網友回復:
in里面字串是單引號,要把單引號顯性的寫進去。uj5u.com熱心網友回復:
select object_id, object_type
from user_objects
where object_id in (select regexp_substr('91219,91234', '[^,]+', 1, level)
from dual
connect by rownum <= 2)
-- '91219,91234' 改成你拼接好的字串,資料專案之間用逗號隔開
-- <=2 ,這里的 2 是資料項的個數
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/69715.html
標籤:開發
上一篇:求大佬指定一下分析函式
