0

これは私のクエリです

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

入力:女性、男性

これでは通常、女性のデータまたは男性のデータのみを取得する必要がありますが、同じクエリを使用して女性と男性の両方のデータを取得する必要がある場合もあります..

出来ますか?もしそうなら、どのように?

4

5 に答える 5

2

クエリを逆にするだけです:

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

女性を取得する場合は「male」、男性を取得する場合は「female」、両方を取得する場合は「whatever」を指定します。

于 2012-09-17T09:02:16.760 に答える
1
SELECT id , name , address
FROM emp_details 
WHERE gender IN (?,?);

男性の女性のみ=>両方に設定?同じ値

PreparedStatement IN 節の代替案は?

于 2012-09-17T09:00:46.143 に答える
1

節を使用する

where gender in ?

パラメータとして文字列の配列

new String[]{"m","f"}
于 2012-09-17T08:56:45.143 に答える
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 に答える
1

同じクエリを使用することはできません。これを行うには、WHERE 句を使用せずにクエリを使用します。

select id,name,address from emp_details
于 2012-09-17T08:53:39.693 に答える