以下に示すストアドプロシージャを作成しました。これは、 'Text'および 'MenuType'列の検索に基づいてすべてのメニューを提供します。演算子のようなSql Serverのnull値を処理する方法
GetMenusbyTextandType '、' - 1 'をパラメータとして渡すように作成したい場合は、MenuMasterテーブルのすべてのレコードを表示する必要があります。問題は、このProcに反映されていない 'MenuType'列にいくつかのnull値があることです。
Create proc GetMenusbyTextandType
@Text nvarchar(400),
@MenuType nvarchar(10)
as
begin
SELECT *
FROM MenuMaster
WHERE Active = 1
AND [Text] LIKE '%' + @Text + '%'
AND MenuType LIKE
CASE
WHEN @MenuType = '-1'
THEN '%' + ISNULL(MenuType, '') + '%'
ELSE '%' + @MenuType + '%'
END
END
あなたのコードは私がSQL Serverを推測しているように見えますが、このようなものを人々に推測させるべきではありません。 relevan't rdbmsタグとテーブル構造を含めるように質問を編集してください。 –
ええ、そのSQLサーバー –
とテーブル?テーブルDDLといくつかのサンプルデータをDML –