如何用空集选择结果

时间:2013-03-29 11:55:39

标签: sql

我有SQL查询:

select * from table where id in (1,2)

1,2是我动态添加的参数。但是,如果我有空集:

select * from table where id in ()

然后这个查询调用异常:

ERROR at line 1:
ORA-00936: missing expression

我应该如何使用空集

创建sql

2 个答案:

答案 0 :(得分:4)

您始终可以将null添加到您的集合中,因此当真实集合为空时,您不会收到语法错误:

select * from table where id in (null,1,2)

VS

select * from table where id in (null)

您的生成器也会更简单,因为您可以在添加的每个项目前打印,,而不检查它是否是第一个。

当然,因为您正在生成SQL,所以针对SQL Injection的标准预防措施适用:不要让用户输入您生成的SQL附近的任何地方。

答案 1 :(得分:0)

试试这个

 select * from table where id in (null)