查詢某個欄位沒有值的所有記錄的SQL語句怎麼寫?(asp)

來源:互聯網
上載者:User
有時我們需要查詢出某欄位沒有值的全部記錄,那應該用rs("xx")=""還是IsNull(rs("xx"))呢?要得出結論,我們還得從頭說起:什麼情況下欄位中會沒有值?因為這和我們的結論關係密切。

一、什麼造成欄位中沒有值?

我們建一個表來測試下,表中只有兩個欄位id(自動編號)和aa(文本):

1.將aa欄位"允許Null 字元串"屬性設定為否,測試結果

引用內容rs("aa") = "mzwu.com"  ---> 添加成功
rs("aa") = ""          ---> 欄位 't8.aa' 不能是零長度的字串。
rs("aa")=Empty         ---> 添加成功
rs("aa") = Null        ---> 添加成功

2.將aa欄位"允許Null 字元串"屬性設定為是,測試結果

引用內容rs("aa") = "mzwu.com"  ---> 添加成功
rs("aa") = ""          ---> 添加成功
rs("aa")=Empty         ---> 添加成功
rs("aa") = Null        ---> 添加成功

經上邊測試後資料庫中表記錄如下:

從上邊的測試結果中我們不難得出結論,造成欄位沒有值可能是下邊四種情況之一:

● rs("aa") = ""
● rs("aa")=Empty
● rs("aa") = Null
● 當表中存在多個欄位時,部分欄位添加值,部分欄位未添加時也會造成欄位沒有值

二、rs("aa")="" or IsEmpty(rs("aa")) or IsNull(rs("aa"))

針對第一節結論中的四種情況,我們分別對其值用rs("aa")="" 、 IsEmpty(rs("aa")) 、IsNull(rs("aa"))進行測試,得出結果:

1.測試rs("aa") = ""

引用內容rs("aa")=""       '結果True
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa"))  '結果False

2.測試rs("aa")=Empty

引用內容rs("aa")=""       '結果-
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa"))  '結果True

3.測試rs("aa")=Null

引用內容rs("aa")=""       '結果-
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa"))  '結果True

4.測試未添加值的欄位

引用內容rs("aa")=""       '結果-
IsEmpty(rs("aa")) '結果False
IsNull(rs("aa"))  '結果True

OK,現在我們已經不難得出結論了:
當使用rs("xx") = ""添加欄位值時,我們應用rs("xx")=""來判斷它是否沒值;
當使用rs("aa")=Null 或rs("aa")=Empty添加欄位值或沒給欄位添加值時,我們應用IsNull(rs("xx"))來判斷它是否沒值;
所以,為了得到準確的結果,當要查詢欄位沒有值的全部記錄時應使用:rs("xx")="" or IsNull(rs("xx"))

2007-09-14:對於沒有值的欄位,rs("xx")&""=""結果都為True,與添加方式無關,因而可直接用rs("xx")&""=""代替rs("xx")="" or IsNull(rs("xx"))

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.