原文:
sql server函式之空值處理
coalesce( expression [ ,...n ] )返回其引數中第乙個非空表示式。
select coalesce(null,null,'1','2') //結果為 1
coalesce(expression1,...n) 與此 case函式等效:
case
when (expression1 is not null) then expression1
...when (expressionn is not null) then expressionn
else null
end
注意:當第乙個表示式為字串且不能轉化為整數時,若在後面的表示式中有整數,這樣的語句是會報錯的。
例如:select coalesce('a',null,'1',2) //這是錯誤的
這相當於
select
case
when ('a' is not null) then 'a'
when (2 is not null) then 2
else null
end //會出現錯誤,因為系統無法將a轉換為相應的整數
但是select
case
when ('a' is not null) then 'a'
when (2 is not null) then '2'
else null
end //這是正確的
所以我們在使用coalesce函式時,應該相當小心。
isnull( check_expression , replacement_value ) 使用指定的替換值替換 null。
replacement_value 必須是可以隱式轉換為 check_expresssion 型別的型別。
在表stu中
select isnull(s***,'p') from stu //若s***列中有null值,那麼返回p
nullif( expression , expression ) 如果兩個指定的表示式相等,則返回空值,否則 nullif 返回第乙個 expression 的值。
select nullif(1,1) //結果為 null
select nullif(1,2) //結果為 1
函式 COALESCE 函式處理空值
1.coalesce 函式介紹 這個函式主要用來進行空值處理,其引數格式如下 coalesce expression,value1,value2 valuen coalesce 函式的第乙個引數expression為待檢測的表示式,而其後的引數個數不定。coalesce 函式將會返回包括expres...
mysql空值函式 SQL NULL 函式
sql isnull nvl ifnull 和 coalesce 函式 請看下面的 products 表 p id productname unitprice unitsinstock unitsonorder computer printer telephone 假如 unitsonorder 是...
Sqlserver錶值函式
實現錶值函式很簡單 下面是乙個不帶輸入引數的錶值函式 createfunctiontvpoints returnstable as return select fromtb users 這個錶值函式數查詢所有使用者表的資料 對於多語句錶值函式,在 begin.end 語句塊中定義的函式體包含一系列 ...