0

这是我的查询

select id,name,address from emp_details where gender = ?

输入:女,男

在这通常我需要只获取女性数据或只获取男性数据但有时我需要使用相同的查询来获取女性和男性数据..

可能吗?如果是这样,怎么做?

4

5 回答 5

2

只需反转查询:

select id,name,address from emp_details where gender <> ?

并指定“男性”获得女性,“女性”获得男性,“随便”获得两者。

于 2012-09-17T09:02:16.760 回答
1

使用子句

where gender in ?

并作为参数一个字符串数组

new String[]{"m","f"}
于 2012-09-17T08:56:45.143 回答
1
SELECT id , name , address
FROM emp_details 
WHERE gender IN (?,?);

仅限男性或女性 => 两者都设置?相同的值

PreparedStatement IN 子句的替代方案?

于 2012-09-17T09:00:46.143 回答
1

使用相同的查询,不,这是不可能的。使用不带任何 where 子句的查询来执行此操作:

select id,name,address from emp_details
于 2012-09-17T08:53:39.693 回答
1
    String gender="Female ";

    String sql = "select id,name,address from emp_details";

    if(gender!=null && !"".equals(gender))

     {      
        sql+=" where gender = ?";

     }
于 2012-09-17T09:09:39.127 回答