SELECT IN中使用Oracle参数时出现问题
|
将一串数字插入sql查询时出现问题
SELECT *
FROM tablename a
WHERE a.flokkurid IN (3857,3858,3863,3285)
ORDER BY sjodategund, rodun
...要么:
SELECT *
FROM tablename a
WHERE a.flokkurid IN (:strManyNumbers)
ORDER BY sjodategund, rodun
...使用以下代码:
using (OracleCommand sel = new OracleCommand(SQL, connectionstring)) {
sel.Parameters.Add(\":strManyNumbers\",
OracleDbType.Varchar2,
\"Client\",
ParameterDirection.Input);
}
因此,如果我运行此查询,我得到:
ORA-01722:编号无效
但是如果我只插入一个数字,即\“ 3857 \”,它将返回带有数据的查询OK。
没有找到相关结果
已邀请:
3 个回复
掸牛浓疗
为查询创建参数时,将其声明为关联的PL / SQL数组:
然后分配一些值:
而且您的查询需要强制转换:
古擅坛犯
靛取糕奖穿
希望这对您有用。 我也看到了其他一些代码也可以做到这一点。 就其价值而言,在Microsoft SQL Server中更容易做到这一点 哈夫·萨瑟(Harv Sather)