SQL Null设置为零以进行添加
时间:2020-03-06 14:45:43 来源:igfitidea点击:
我有一个SQL查询(MS Access),我需要添加两列,其中任一列都可能为null。例如:
SELECT Column1, Column2, Column3+Column4 AS [Added Values] FROM Table
其中Column3或者Column4可以为null。在这种情况下,我希望将null视为零(因此," 4 + null = 4,null + null = 0")。
关于如何做到这一点有什么建议吗?
解决方案
由于Access中的ISNULL是布尔函数(一个参数),因此请像下面这样使用它:
SELECT Column1, Column2, IIF(ISNULL(Column3),0,Column3) + IIF(ISNULL(Column4),0,Column4) AS [Added Values] FROM Table
使用ISNULL替换命令:
SELECT Column1, Column2, ISNULL(Column3, 0) + ISNULL(Column4, 0) AS [Added Values]FROM Table
使用COALESCE。
SELECT Column1, Column2, COALESCE(Column3, 0) + COALESCE(Column4, 0) AS [Added Values] FROM Table
更加清洁的将是nz功能
nz (column3, 0)
VBA中的Nz()函数可以在MS Access查询中使用。
此函数用NULL代替给定参数中的值。
SELECT Column1, Column2, Nz(Column3, 0) + Nz(Column4, 0) AS [Added Values] FROM Table