SQL Server和Access的SQL查询语句中把空值字段转换成数值0

一、ACCESS中

1、select   iif(isnull(字段),0,字段)   from   表 (测试过)

2、Nz 函数(未测试)       

使用 Nz 函数可以返回 0,或一个空字符串(" ") ,或者当一个 Variant 为 Null 时,该函数返回其他的指定值。例如,您可以使用该函数将 Null 值转换为其他值并防止它通过表达式扩散。

语法

Nz(variant[, valueifnull])

Nz 函数具有如下参数:

参数 说明
variant 各种数据类型的 Variant。
Valueifnull 可选参数(除非在查询中使用)。一个 Variant,提供当 variant 参数为 Null 时的返回值。该参数使您能够返回一个值(除了 0 或空字符串以外的其他值)。
注意   如果在查询的表达式中使用了不带 ValueIfNull 参数的 Nz 函数,则对包含 Null 值的字段,其返回结果为空字符串。

当 variant 参数值为 Null 时,Nz 函数返回 0 还是空字符串(当在查询表达式中使用该参数时,通常返回空字符串)取决于上下文中该值是数值还是字符串。如果包含了可选的 valueifnull 参数,则当 variant 参数为 Null 时,Nz 函数将返回由该参数指定的值。当在查询表达式中使用时,NZ 函数通常会包含 valueifnull 参数。

当 variant 参数值不为 Null 时,Nz 函数返回 variant 参数值。

说明

Nz 函数对可能包含 Null 值的表达式是很有用的。要使表达式即使在包含 Null 值时也能计算得到一个非 Null 值,可使用 Nz 函数来返回 0,空字符串,或一个自定义的返回值。

例如,表达式 2 + varX 在 Variant varX 是 Null 时,返回一个 Null 值。然而,2 + Nz(varX) 却返回 2 。

您可以经常使用 Nz 函数作为 IIf 函数的替代函数。例如,在以下的代码中,需要用两个包含 IIf 函数的表达式来返回想要的值。第一个包含 IIf 函数的表达式用于检查变量的值,如果该值为 Null 就将它转换为 0。

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")在下一个示例中,Nz 函数提供与第一个表达式相同的函数功能,并且一步即可获得所需的值而不需要分两步进行。

varResult = IIf(Nz(varFreight) > 50, "High", "Low")如果为可选参数 valueifnul 提供了一个值,则当 variant 为 Null 时,将返回该值。通过这个可选参数,可以避免使用含有 IIf 函数的表达式。例如,下面的下表达式使用 IIf 函数,在 varFreight 的值为 Null 时返回一个字符串。

varResult = IIf(IsNull(varFreight), _
    "No Freight Charge", varFreight)在下一个示例中,当 varFreight 为 Null 时,则 Nz 函数的可选参数提供了返回的字符串。

varResult = Nz(varFreight, "No Freight Charge")



二、SQL   Server中
select   isnull(字段,0)   from   表  (未测试)
本博客所有文章如无特别注明均为原创。作者:sysdee复制或转载请以超链接形式注明转自 成功志
原文地址《SQL Server和Access的SQL查询语句中把空值字段转换成数值0
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)