posts - 10, comments - 9, trackbacks - 0, articles - 17

          SQL中 不等于<>的null注意

          Posted on 2010-07-07 10:17 wesley1987 閱讀(7312) 評(píng)論(1)  編輯  收藏

          select COUNT(*) from table t WHERE t.col <> '3'


          SELECT COUNT(*) FROM table t WHERE t.col NOT IN
          (select t.col from table t WHERE t.col= '3')

          以上兩句SQL的執(zhí)行結(jié)果不同, 因?yàn)?<> 在排除3的同時(shí), 將null也排除了,
          所以當(dāng)比較字段含null時(shí),第一句將比第二句的結(jié)果少.

          當(dāng)然第二句從效率上來(lái)說(shuō)不是一個(gè)好的寫(xiě)法, 這樣寫(xiě)只是為了理解, 在第一句后面, 加上 or t.col is null 應(yīng)該就等效了.

          Feedback

          # re: SQL中 不等于的null注意[未登錄](méi)  回復(fù)  更多評(píng)論   

          2012-05-18 18:25 by 111
          直接 ISNULL(t.col,'')<>'3' 不更好么

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 革吉县| 东阳市| 清苑县| 菏泽市| 天门市| 扶风县| 广饶县| 霍城县| 手机| 河津市| 库伦旗| 游戏| 衡水市| 察隅县| 扶绥县| 瑞昌市| 牡丹江市| 容城县| 玛多县| 郁南县| 西峡县| 克山县| 兴国县| 富裕县| 都匀市| 东明县| 都安| 竹山县| 舟曲县| 山东省| 卢湾区| 淳化县| 正镶白旗| 康定县| 辽宁省| 英山县| 上思县| 浮山县| 五原县| 永嘉县| 新昌县|