在數據庫中新建存儲過程的時辰,默認城市有一個 SET ANSI_NULLS ON 在前面,那么,這句話到底是什么意思呢?有什么感化呢? SET ANSI_NULLS ON 與 SET ANSI_NULLS OFF 的區別在哪里呢?
存儲過程的大致布局如圖所示,在代碼的最前面默認會有一個 SET ANSI_NULLS ON,本文是以sqlserver數據庫為例進行的演示申明
2若何建立存儲過程執行存儲過程
 在sql server management studio辦理東西中點擊【新建查詢】,建立一個新的sql語句書寫窗口,界說一個長度為50的字符串姑且變量,而且賦值為null
 開啟SET ANSI_NULLS ON,然后直接利用等號判定變量是否等于null。此處利用if判定語句,直接輸出判定的成果
 點擊上面菜單的【執行】,或者按F5就可以運行窗口內的所有SQL語句。從運行成果可以看出,當開啟SET ANSI_NULLS ON的時辰,null直接利用等號判定null是會返回false的
 封閉SET ANSI_NULLS OFF,然后直接利用等號判定變量是否等于null。此處利用if判定語句,直接輸出判定的成果
 點擊上面菜單的【執行】,或者按F5就可以運行窗口內的所有SQL語句。從運行成果可以看出,當封閉SET ANSI_NULLS OFF的時辰,null直接利用等號判定null是會返回true的,這個與開啟ON的結果完全相反
 最后,若是開啟了SET ANSI_NULLS ON,想要判定是不是為null,該怎么判定呢?這個時辰可以利用is null,也可以利用isnull()函數判定null以及空白。
總結:
1)SET ANSI_NULLS ON:null與null不相等
2)SET ANSI_NULLS OFF:null與null相等
 0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!