JDBC на SQL Server, executeQuery () не может найти результат со значением NULL - PullRequest
1 голос
/ 03 марта 2011

Я использую jdbc для извлечения данных из SQL Server, а ANSI_NULLS выключен.Поэтому, если я запускаю

select * from cj_log where evt = null

, я могу получить результат.

Но когда я помещаю его в выражение, подобное этому

Statement st = DBConnection.getConnection().createStatement();
String sql = "select * from CJ_LOG where EVT=null";
ResultSet rs = st.executeQuery(sql);

Набор результатов пуст.В чем здесь проблема?

1 Ответ

2 голосов
/ 03 марта 2011

Вы должны сказать

where EVT is null

Ничто не может быть равно нулю, даже нулю.

Подумайте об этом так: ноль означает «не знаю».

Вы спрашиваете «что-то, чего я не знаю, равно чему-то, чего я не знаю»

Ответ: «Я не знаю».Таким образом, вы не получите никаких строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...