Oracle數據庫模糊查詢語句一個容易忽略的結果:空記錄 |
發布時間: 2012/7/26 17:02:18 |
原因: 使用SQL語句如下: select count(*) from test; 結果為1390.
結果為393. 實際瀏覽過程中發現未禁用結果集肯定超過393條記錄。
過程: 1、首先懷疑字符集的問題,也許是客戶端字符集與服務器字符集不匹配。在別人的機器上使用上述SQL語句后,反反復復,類似替換,結果都相同。 2、仍然懷疑是字符集的問題,顛三倒四沒有發現問題真實原因,幾近抓狂。 3、偶然發現bb字段有許多為空,仔細分析一下,發現bb not like '%禁用%'不會匹配空記錄,于是改為 select count(*) from test where bb not like ‘%禁用%' or bb is null 結果為1356。
本文出自:億恩科技【www.endtimedelusion.com】 |