22,210
社区成员
发帖
与我相关
我的任务
分享
AND (ISNULL(@类型,'')='' OR 类型=@类型)
AND (ISNULL(@平台,'')='' OR 平台=@平台)
IF @状态 = '2'
AND 状态 = 1 AND 标识 = 1 ';
ELSE IF @状态 = '2'
AND 状态 = 1 AND 标识 = 2 ';
ELSE IF @状态 = '3'
AND ( 状态 = -1 OR 状态 = 0 ) ';
你这个用存储过程来写的话 就是拼接字符串
用IF 判断是对的
declare @sql nvarchar(max)
SET @SQL='SELECT * FROM tb where xx and (ISNULL(@类型,'')='' OR 类型=@类型) and AND (ISNULL(@平台,'')='' OR 平台=@平台)'
IF @状态 is null
SET @SQL=@SQL+' and 1=1'
IF @状态 = '1'
set @sql=@sql+'AND 状态 = 1 AND 标识 = 1 '
ELSE IF @状态 = '2'
set @sql=@sql+'AND 状态 = 1 AND 标识 = 2 '
ELSE IF @状态 = '3'
set @sql=@sql+'AND ( 状态 = -1 OR 状态 = 0 ) '
你这个用存储过程来写的话 就是拼接字符串
用IF 判断是对的
declare @sql nvarchar(max)
SET @SQL='SELECT * FROM tb where xx and (ISNULL(@类型,'')='' OR 类型=@类型) and AND (ISNULL(@平台,'')='' OR 平台=@平台)
IF @状态 is null
SET @SQL=@SQL+' and 1=1'
IF @状态 = '1'
set @sql=@sql+'AND 状态 = 1 AND 标识 = 1 '
ELSE IF @状态 = '2'
set @sql=@sql+'AND 状态 = 1 AND 标识 = 2 '
ELSE IF @状态 = '3'
set @sql=@sql+'AND ( 状态 = -1 OR 状态 = 0 ) '
AND (ISNULL(@类型,'')='' OR 类型=@类型)
AND (ISNULL(@平台,'')='' OR 平台=@平台)
这是查询条件
我想再加个查询条件
就是这个
F @状态 = '1'
AND 状态 = 1 AND 标识 = 1 ';
ELSE IF @状态 = '2'
AND 状态 = 1 AND 标识 = 2 ';
ELSE IF @状态 = '3'
AND ( 状态 = -1 OR 状态 = 0 ) ';
@状态是存储过程传入值,状态 和 标识 是表中的字段