3

1如果下面的 SQL 返回,我该如何返回NULL

类似的东西(伪代码):

if sql return NULL value 
then set value to one 
otherwise returning sql result value. 

如果 SQL 结果为 NULL,是否有任何 SQL 用于将默认值定义为 1?

SELECT  Max(iCategoryOrder)+1 
FROM    [IVRFlowManager].[dbo].[tblCategory] 
WHERE   iCategoryLevel = 1
4

2 回答 2

5

选项1

采用ISNULL()

描述

用指定的替换值替换 NULL。

SELECT    MAX(ISNULL(iCategoryOrder, 0))+1 
FROM      [IVRFlowManager].[dbo].[tblCategory] 
WHERE     iCategoryLevel = 1

选项 2

采用COALESCE()

SELECT    MAX(COALESCE(iCategoryOrder, 0))+1 
FROM      [IVRFlowManager].[dbo].[tblCategory] 
WHERE     iCategoryLevel = 1

描述

返回其参数中的第一个非空表达式。

于 2012-04-10T11:40:45.057 回答
4

使用 ISNULL 运算符,例如:

ISNULL(your_field, 1)

尝试以下操作:

Select ISNULL(Max(iCategoryOrder), 0) + 1  
from [IVRFlowManager].[dbo].[tblCategory]  
where iCategoryLevel = 1 
于 2012-04-10T11:39:52.483 回答