我使用jdbc從SQL Server檢索數據,並且ANSI_NULLS處於關閉狀態。所以如果我運行SQL Server上的JDBC,executeQuery()無法找到結果null
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);
結果集是空的。這裏有什麼問題?
當您使用'select * from CJ_LOG where EVT IS NULL'時會發生什麼? – 2011-03-02 23:07:54
ANSI_NULLS是每個連接設置。如果'DBConnection.getConnection()'不能確保ANSI_NULLS爲OFF,那麼很可能ANSI_NULLS實際上是ON(默認值)。 – ig0774 2011-03-03 02:50:28