私は5つの異なるフィルタを持つ検索画面用のストアドプロシージャを持っています。 ユーザーはフィルタを空のままにしたり、1つのフィルタを使用して検索ボタンをクリックすることができます。フィールド値が空の場合、where句の列を除外します。
すべてのデータはデータベースから来ていますが、パラメータ値が空の文字列の場合はwhere節の列を除外できるストアドプロシージャを作成しようとしています。
@Id as nvarchar(256) = 1
@blnIsinProgress bit = 0
@strStatus varchar(20) = ''
@strName varchar(50) = ''
@strConfirmationNumber varchar(50) = 123
@dtmSubmittedFrom Date = '12/31/9999'
@dtmSubmittedTo Date = '12/31/9999'
as
BEGIN
SELECT *
FROM tblTable
WHERE
(@Id IS NULL OR lngID = @Id) AND
(@blnIsinProgress IS NULL OR blnIsinProgress = @blnIsinProgress) AND
(@strStatus = '' OR strStatus = @strStatus) AND
(@strName= '' OR strName= @strName) AND
(@strConfirmationNumber = '' or @strConfirmationNumber = @strConfirmationNumber)
End
しかし
Execute spManage 1,0,'','',123
私にすべての結果
しかし、パラメータの値は空の文字列として来ています。 –