sql查询时怎么才能将一个集合作为条件

玉立琦 2014-07-23 01:51:17
RT
例如:

list = “1”,“2”,“3”,“5“,“11”,“15”,“18”,“13”,“19”,“21”,“14”,“16”,“10”...........;
如何将它作为
select * from table where num not in (list);
的参数!求大神解救!
...全文
2263 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CT_LXL 2014-07-23
  • 打赏
  • 举报
回复
引用 3 楼 yuliqi0429 的回复:
[quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 yuliqi0429 的回复:] RT 例如: list = “1”,“2”,“3”,“5“,“11”,“15”,“18”,“13”,“19”,“21”,“14”,“16”,“10”...........; 如何将它作为 select * from table where num not in (list); 的参数!求大神解救!
动态SQL[/quote] 能给举个例子吗?[/quote]
-- Created on 7/23/2014 by LEONCHENG 
declare
  -- Local variables here
  l_str    varchar2(100);
  l_sql    varchar2(200);
  l_fnd_id varchar2(8);
begin
  l_str := '''MPGF''';
  l_sql := 'select fnd_id from (select ''MPGF'' FND_ID FROM DUAL UNION SELECT ''MPCF'' FROM DUAL) where fnd_id in(' ||
           l_str || ')';
  DBMS_OUTPUT.put_line(l_sql);
  execute immediate l_sql
    into l_fnd_id;
  DBMS_OUTPUT.put_line(l_fnd_id);
end;
CT_LXL 2014-07-23
  • 打赏
  • 举报
回复
引用 3 楼 yuliqi0429 的回复:
[quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 yuliqi0429 的回复:] RT 例如: list = “1”,“2”,“3”,“5“,“11”,“15”,“18”,“13”,“19”,“21”,“14”,“16”,“10”...........; 如何将它作为 select * from table where num not in (list); 的参数!求大神解救!
动态SQL[/quote] 能给举个例子吗?[/quote] 供参考: [code=sql declare l_str varchar2(100); l_sql varchar2(200); l_fnd_id varchar2(8); begin l_str := '''MPGF'''; l_sql := 'select fnd_id from (select ''MPGF'' FND_ID FROM DUAL UNION SELECT ''MPCF'' FROM DUAL) where fnd_id in(' || l_str || ')'; DBMS_OUTPUT.put_line(l_sql); execute immediate l_sql into l_fnd_id; DBMS_OUTPUT.put_line(l_fnd_id); end;[/code]
ghx287524027 2014-07-23
  • 打赏
  • 举报
回复
string sql = "select * from table where id in ({0})"; string ids = ""; foreach(var item in list) { ids+=",'"+item.ToString()+"'"; } ids = ids.SubString(1); sql = string.Formart(sql,ids);
bw555 2014-07-23
  • 打赏
  • 举报
回复
根据列表拼接字符串 str:=1,2,3……;
select  *   from  table   where   instr(','||str||',',','||num||',')>0
玉立琦 2014-07-23
  • 打赏
  • 举报
回复
引用 1 楼 zlloct 的回复:
[quote=引用 楼主 yuliqi0429 的回复:] RT 例如: list = “1”,“2”,“3”,“5“,“11”,“15”,“18”,“13”,“19”,“21”,“14”,“16”,“10”...........; 如何将它作为 select * from table where num not in (list); 的参数!求大神解救!
动态SQL[/quote] 能给举个例子吗?
玉立琦 2014-07-23
  • 打赏
  • 举报
回复
在线等。。。。
CT_LXL 2014-07-23
  • 打赏
  • 举报
回复
引用 楼主 yuliqi0429 的回复:
RT 例如: list = “1”,“2”,“3”,“5“,“11”,“15”,“18”,“13”,“19”,“21”,“14”,“16”,“10”...........; 如何将它作为 select * from table where num not in (list); 的参数!求大神解救!
动态SQL

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧