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

          SQL中 不等于<>的null注意

          Posted on 2010-07-07 10:17 wesley1987 閱讀(7305) 評(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)航:
           
          主站蜘蛛池模板: 张家口市| 昌黎县| 舞阳县| 固镇县| 汉中市| 安顺市| 石嘴山市| 基隆市| 湖口县| 东乡| 山阳县| 屏山县| 什邡市| 武夷山市| 新宁县| 石家庄市| 阿荣旗| 新宾| 高雄市| 盘山县| 永康市| 盐城市| 富顺县| 务川| 乌鲁木齐县| 通许县| 苏尼特右旗| 东阿县| 岳阳县| 桃园市| 恩平市| 南开区| 宜宾市| 西盟| 济源市| 宁德市| 新平| 尤溪县| 宁蒗| 凌源市| 搜索|