2

@topParam 値が渡された場合、すべてを選択しない場合はそれを使用する方法はありますか。

@topParam
select TOP COALESCE ( @topParam, all )
4

4 に答える 4

4

これは適切な解決策ではありませんが、一時的にうまくいきました

@topParam
select TOP (COALESCE (@topParam, 1000000000))

@topParam が null の場合、結果セットに 1000000000 がないため、すべてのレコードが取得されると考えてください。

コーディングをお楽しみください..

于 2013-05-01T10:08:38.563 に答える
0

以下の構文も機能します-

SELECT top (@maxNodes) @listOfInvitation = COALESCE(@listOfInvitation + ', ', '') + Cast(InviteID AS VARCHAR(10))
    FROM #temp_duplicate_inviteid 
    WHERE cGuid = @cGUID;
于 2015-02-10T09:15:48.440 に答える
0

私が正しく理解していれば、私は使用しますCASE

CASE 
WHEN @topParam > 0 THEN (SELECT WITH LIMIT)
ELSE (SELECT WITHOUT LIMIT)
END
于 2013-05-01T09:52:08.820 に答える