Access与SQL中的IsNull(),IS NULL的区别

时间:2021-04-16

  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。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章