SQL Server 中有兩個參數,文法:
ISNULL(check_expression, replacement_value)
check_expression 與 replacement_value 資料類型必須一緻
如果 check_expression 為 NULL,則傳回 replacement_value
如果 check_expression 不為 NULL,則傳回 check_expression
NULLIF 用于檢查兩個表達式,文法:
NULLIF(expression, expression)
如果兩個 expression 相等,則傳回 NULL,該 NULL 為第一個 expression 的資料類型
如果兩個 expression 不相等,則傳回第一個 expression
Sql Server中兩個判斷是否為空的函數NULLIF和ISNULL的說明如下:
NULLIF:需要兩個參數,如果兩個指定的表達式等價,則傳回null
例子:NULLIF(a,b)
說明:如果a和b是相等的,那麼傳回NULL,如果不相等傳回a
select NULLIF('eqeqweqwe','1') 結果是eqeqweqwe
select NULLIF(1,1) 結果是NULL
a和b的類型要一緻
ISNULL:需要兩個參數,目标是講null替換為指定的值,若第一個參數不為null,則傳回第一個參數
例子:ISNULL(a,b)
說明:如果a和b同時為NULL,傳回NULL,如果a為NULL,b不為NULL,傳回b,如果a不為NULL,b為NULL傳回a,如果a和b都不為NULL傳回a
select ISNULL(null,null)結果是null
select ISNULL(null,33)結果是33
select ISNULL('ddd',null)結果是ddd
select ISNULL(44,33)結果是44
isnumeric:确認表達式是否為有效的數字形式