Access與SQL中的IsNull(),IS NULL的區別


Access也有IsNull函數,但意義和參數卻和T-SQL中的不同。

在T-SQL(也就是SQL Server所支持的SQL語言)中,IsNull的作用是把空值替代成指定的值。然而在Access中,IsNull的作用僅僅是判斷是否為空值,而且參數的個數也和T-SQL中的不一樣,只有一個輸入參數。

慶幸的是Access支持iif,所以可以這樣去替代:
Select iif(IsNull( express ), value1, value2 ) From TableName

iif(IsNull( express ), value1, value2 )
相當於:
If express Is Null Then
Return value1
Else
Return value2
End if

舉個例子,在SQL Server中:
select IsNull(int_Filed1, 0) from Table1

換作Access,則應該被改寫為:
select iif( IsNull(int_Filed1), 0, int_Filed1 ) from Table1

在SQL中is null 和函數 IsNull是有區別的。 前者用於條件里面判斷是否為NULL,而后者
使用指定的替換值替換 NULL。
————————————————————————————————
ISNULL
使用指定的替換值替換 NULL。
語法
ISNULL ( check_expression , replacement_value ) 
參數
check_expression
將被檢查是否為 NULL的表達式。check_expression 可以是任何類型的。
replacement_value
在 check_expression 為 NULL時將返回的表達式。replacement_value 必須與 check_expresssion 
具有相同的類型。 
返回類型
返回與 check_expression 相同的類型。
注釋
如果 check_expression 不為 NULL,那么返回該表達式的值;否則返回 replacement_value。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM