1. 程式人生 > 資料庫 >SQL:空值null判斷和操作

SQL:空值null判斷和操作

一、SQL中空值判斷使用is null還是= null?

首先先給出答案,使用select 屬性 from 表 where 欄位 is null。
那麼為什麼不使用 = 呢?
在SQL邏輯中包含三種邏輯值,true、false、unknown。
任何值(包括null本身)與null進行邏輯判斷時都會返回結果unknown。
接著,在where和having’子句中unknown結果會被視作false,這也就是為什麼使用 = null的時候什麼結果都沒有的原因。
當然,並非所有的unknown都會被當作false處理的,在check約束中,unknown被當作true進行處理,也就是說null >= 0的返回結果時true。

在group by語句中,所有的null被視作相同,所以null會被分在一個組中。

二、聚集函式

常見的聚集函式有:sum,count,max,min,avg。
那麼在聚集函式中,null的元組值如何處理呢?
結論是:除了count以外的所有聚集函式,都會自動忽視null的值進行執行。

三、其他

null在算數運算中進行運算的話,返回的結果是null