我创建了如下所示的存储过程,它提供了基于搜索'Text'和'MenuType'列的所有菜单。如何处理Sql Server中的空值,如运算符
我想创建它就像我传递GetMenusbyTextandType'',' - 1'作为参数,那么它应该显示MenuMaster表的所有记录。问题是我在'MenuType'列中有一些空值,这在这个过程中没有反映出来。
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,但你不应该让人们猜这样的东西。请编辑您的问题以包含相关的rdbms标记和表结构。 –
是的,它的sql服务器 –
和表?请添加表DDL和一些示例数据为DML –