我正在使用JDBC,并试图弄清楚如何动态创建查询-这被证明是一个相当具有挑战性的壮举。我可以在SQL查询中放入什么输入,让它返回给定列的任何输入?
例如,
SELECT * FROM customers WHERE name = ?;
实际上我希望前面的语句与
SELECT * FROM customers;
除了替换"Where name =?"之外,我是否可以用什么来替换?,以使数据库返回name列中具有任何值的所有行?
这可能听起来很蠢,但我试过了
SELECT * FROM customers WHERE name = *;
但不幸的是,这没有奏效。
2条答案
按热度按时间yzckvree1#
至少有一个解决方案:
但是,当?不为空时,此方法将禁用索引搜索
编辑:使用合并而不是Oracle特定的nvl
EDIT2:此解决方案不适用于空值
另一种选择是使用第二个参数作为“gimme more”的标记
bpzcxfmw2#
好了,我想我已经从another post.中找到了答案,基本上只需调用
这对我很有效。