isnull函数需要2个参数

时间:2014-07-22 08:50:04

标签: sql

SELECT IIF(ISNULL(MAX((AttTmpInOutFrmMachine.AttId))),0,MAX((AttTmpInOutFrmMachine.AttId)))+1 
FROM AttTmpInOutFrmMachine

4 个答案:

答案 0 :(得分:2)

ISNull中的第二个参数是当您的字段数据实际为空时将使用的值。例如:

IsNUll(someint, 0)

如果someint不为null,则返回someint,否则返回0

答案 1 :(得分:0)

这就够了

SELECT ISNULL(MAX(AttTmpInOutFrmMachine.AttId),0)+1 FROM AttTmpInOutFrmMachine

答案 2 :(得分:0)

第一个是应该针对null检查的值,第二个是应该替换null的值。

请参阅here了解ms-sql

的例外情况
  

语法

     

ISNULL(check_expression,replacement_value)
  参数

     

check_expression要检查表达式是否为NULL。   check_expression可以是任何类型。 replacement_value是

     如果check_expression为NULL,则返回

表达式。   replacement_value必须是可隐式转换为的类型   check_expresssion的类型。

答案 3 :(得分:0)

因为IIF的语法是:

IIF ( boolean_expression, true_value, false_value )

我认为你正在寻找下面的逻辑:

SELECT IIF(ISNULL(MAX(AttTmpInOutFrmMachine.AttId),0)=0
           ,0
           ,MAX(AttTmpInOutFrmMachine.AttId))+1 as NextAttId
FROM AttTmpInOutFrmMachine