24小时服务热线:13292823610
行业动态

access isnull函数

您所在的位置:首页 > 行业动态 日期:2019-04-30 16:02:36 人气:0 标签: access isnull 函数

ISNULL在更新数据库的时候可能会用到access isnull函数,如:update table1 set filed1=filed1+1,在这时候,如果filed1是NULL,那么这个+就无法用了,查了一个可以在SQL语句中直接判断NULL来做相应的处理,不过ACCESS数据库和MSSQL还不太一样,专门上网找了一下,觉得有一篇写得挺好,粘来分享。


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。


不知道能否帮助需要access isnull函数的小伙伴们!