欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > 服务器教程 >

用Access的iif代替SQL中的IsNull()

发表于2019-04-13 21:00| 次阅读| 来源网络整理| 作者session

摘要:用Access的iif代替SQL中的IsNull()

用Access的iif代替SQL中的IsNull()

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。