5

たとえば、PreparedStatement に対して次の選択クエリがあります。

"BAR WHERE FOOBAR= から FOO を選択しますか?"

FOOBAR のパラメーターには値を指定できますが、null の場合もあります。

次のコードは機能しますか?

if(<condition>) preparedStatement.setString(1, "<string value>");
else preparedStatement.setString(1, null);

そうでない場合、これはどのように処理されるべきですか?

4

4 に答える 4

6

null には同等性がありません。PreparedStatement を使用している場合は、これを試してください。

if(<condition>) preparedStatement.setObject(1, "<string value>");
else preparedStatement.setNull(1, Types.VARCHAR);

null を IN パラメータとして送信します。

于 2013-07-15T07:21:10.647 に答える
0

NULL 値のパラメーターと列の NULL 値には違いがあります。

于 2015-01-14T18:02:23.413 に答える
-1
if(requiredValue == null){
 sql = "SELECT * FROM Table Where COLUMN is NULL"
}

この場合、値を設定する必要はありません。

于 2013-07-15T07:14:28.067 に答える