天天看點

Sql 中null值對常用函數的影響

null  需要使用 is  null   或者  is  not  null  進行判斷

distinct 會将所有null視為一項

group by 将所有null值視為一項

count(*/1)包括null值,count(columnName)不會計算null值

max()  min()  sum()  avg() 都會忽略null值

not in 或者   in 在進行計算時,使用 = 号判斷值是否相等,遇到null值時需要注意。

eg.  select 'yes' from  table_tmp   where column_test not in/in (1,2,3,null)  limit  1

當  null  等于 column_test時,sql會執行完成,但沒有任何傳回值.

當null值出現在(list)中時,in可以正常使用,因為隻要有一個值滿足=條件就可以,null值是否存在沒有影響,

                                         not in 要求所有值都滿足!=條件,而null值無法依靠=條件判斷,是以結果會異常。