簡潔にするために実際の選択フィールドは省略しました。次のクエリが機能します。
Select * FROM my_db WHERE CONVERT(Termination_Date, SQL_VARCHAR) IS NULL OR (Rehire_Date > Termination_Date)";
これはうまくいきます。
これは文字通りJVMをクラッシュさせます:
Select * FROM my_db WHERE CONVERT(Termination_Date, SQL_VARCHAR) IS NULL OR (Rehire_Date > Termination_Date AND CONVERT(Termination_Date, SQL_VARCHAR) IS NOT NULL)";
2 番目のクエリが間違っていることに気付きましたが、実行したところ、SQL 例外ではなく JVM がクラッシュしました。これは毎回繰り返されます。なんで?