何时将nz()函数更改为COALESCE函数?

时间:2019-01-03 01:13:06

标签: sql-server vba access

我的Access表已链接到SQL Server。我创建了链接视图,在该视图中我将nz() function替换为COALESCE function。但是,我不确定是否也必须将nz function中的COALESCE转换为VBA

例如以下代码:

rst.Open "SELECT * FROM table1", CurrentProject.Connection, adOpenStatic, adLockReadOnl y

我有

IF NZ('Field1',0) =0 then 

//do something

我应该做

IF COALESCE('Field1',0) =0 then 

//do something

还是只需要在SQL查询中更改它?

2 个答案:

答案 0 :(得分:1)

Coalesce是一项仅在T-SQL中可用的功能,它不是 VBA功能。

由您决定如何处理将null转换为新值的方法,有很多方法可以实现。您可以在将变量添加到SQL语句之前检查变量,也可以使用CoalesceIsNullCase将变量作为SQL的一部分进行更改。

就我个人而言,我会做任何更少的代码,而这些代码仍然可以使想法清晰地传达出来。我想这将根据您的情况逐案决定。

答案 1 :(得分:0)

我会坚持使用Access中的NZ()函数,如果要在SQL Server端处理此问题,那么在将其拉入Access之前,这是另一种选择。在SQL Server中,COALESCE()函数返回列表中的第一个非空值。