sql 语句  where xxx in(1,2,3,4,5)现在的情况是:
有一对 上下限日期,SQL查出了这个范围内所有的日期,然后打算拼接这些日期,成为上面SQL括号里的部分
像这样 '2010-01-01','2010-01-02',***********现在是打算用一个变量来接收这一大长串的字符,已经定义 varchar2(30000) ,上下限日期跨度是一年多,跑起来报变量长度太小的错误如果跨度是3年  6年  10年?有什么好的建议解决办法?

解决方案 »

  1.   

    括号内的东西可以定义一个数组type,也可以把这些内容写入到一张表t_date 中where xxx in(select date_col from t_date )貌似varchar2 最大长度只有4000
      

  2.   

    连续的时间最好合并一下,否则再长的字符也没有用 
    varchar2(4000)最大为4000个字符 
      

  3.   

    用数组接受  varchar2(30000)  楼主最大也只有4000