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。
|