« 上一篇下一篇 »

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。