sql >> データベース >  >> RDS >> PostgreSQL

JDBC-列がNULLの場所を選択します

    = NULLはありません 。 select * from test where value=NULLと入力した場合 インタラクティブなクエリエバリュエーターにすると、何も返されません。 JDBCは式を書き換えるのではなく、値を置き換えるだけです。

    isを使用してクエリを使用する必要があります 代わりに演算子:

    PreparedStatement select = c.prepareStatement("select * from test where value is NULL");
    return select.executeQuery();
    

    あなたは、JDBCがあなたのためにそれを行うのに十分「賢い」ことを期待していると言いましたが、それは関心の分離の大きな違反になります。 欲しい =を使用してクエリにパラメータを含める NULLを設定します その関係が真と評価されることは決してないことを知っています(より多くの条件の一部として、おそらく)。



    1. このエラーを修正する方法PHP致命的なエラー:ケーキベイクコンソールで未定義の関数mysql_query()を呼び出す

    2. MySql正規表現式テスト

    3. Django +Postgres+大規模な時系列

    4. Web構成ファイルの接続文字列に問題があります