在ORACLE SELECT 语句中 IN 的数据如果超过 1000,就会出错,解决方法也很简单,以C#代码为例:

1、先写一个方法,接收2个参数

参数1:接收 IN里面的数据,如:'a1','a2',...'a2000' ;

参数2:需要IN的列名;

关于ORACLE 语句中,IN 超过1000个的解决方法public string GetSqlIn( string sqlParam, string columnName )

2、使用这个方法的返回值,代码如下:

关于ORACLE 语句中,IN 超过1000个的解决方法System.Text.StringBuilder sql = new System.Text.StringBuilder("");
关于ORACLE 语句中,IN 超过1000个的解决方法sql.Append ( 
" SELECT " );
关于ORACLE 语句中,IN 超过1000个的解决方法sql.Append ( 
" T.A" );
关于ORACLE 语句中,IN 超过1000个的解决方法sql.Append ( 
" FROM TEST T" );   
关于ORACLE 语句中,IN 超过1000个的解决方法sql.Append ( 
" WHERE 1=1 " );
关于ORACLE 语句中,IN 超过1000个的解决方法
关于ORACLE 语句中,IN 超过1000个的解决方法
if( Col.Length > 0 )
 );   

 3、运行后得到的SQL字符串格式为:

select t.* from TEST t where t.A in (59,60or t.A in (61,62)

 这样就解决了 IN大于1000的问题。

 

相关文章:

  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-15
  • 2022-12-23
  • 2022-12-23
  • 2021-09-23
猜你喜欢
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2021-04-19
相关资源
相似解决方案