3

1以下の SQL が返される場合、どのように返すことができますNULLか?

(疑似コード) のようなもの:

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

SQL結果がNULLの場合、デフォルト値を1に定義するSQLはありますか?

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

説明

引数の中で最初の非 null 式を返します。

于 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 に答える