选择sql中具有where条件的所有数据?

时间:2012-06-06 17:47:47

标签: java sql

我有这个查询,我用Java运行。

select book from com where genre=?;

我动态设置genre的参数。有没有办法有时设置参数,以便选择所有数据?

5 个答案:

答案 0 :(得分:6)

通常的技巧是设置一个单独的参数来选择所有内容:

SELECT book FROM com WHERE genre=? OR 1=?

当您将第二个参数设置为0时,会使用按类型过滤,但是当您将其设置为1时,会返回所有内容。

如果您愿意切换到使用named JDBC parameters,则可以使用一个参数重写,并使用null表示“选择所有内容”:

SELECT book FROM com WHERE genre=:genre_param OR :genre_param is null

答案 1 :(得分:1)

您的意思是说您希望能够使用相同的脚本并传入一个忽略“Where”的参数吗?使用此选项并将字符串“AllData”传递给第二个参数以包含所有结果并忽略您的第一个参数:

select book from com where (genre=? OR "AllData"=?);

答案 2 :(得分:0)

创建不同的查询:

select book from com;

这将从“com”中的所有行获取“book”列。

答案 3 :(得分:0)

只需使用通配符即可。 防爆。 SELECT book FROM com WHERE genre LIKE "%"+seachString+"%";

答案 4 :(得分:0)

您可以使用CASE表达式(SQL SERVER):