Tsql 条件Where语句语法或其他解决方案
@MallUnit是一个值为“Unit 401、Unit 402、Unit 403”的参数 我想要一个条件where语句。假设在测试之前,还有其他条件可以正常工作。基本上,如果scheduledmalUnitTypeId为null,则使用IN条件进行计算。否则,使用like子句Tsql 条件Where语句语法或其他解决方案,tsql,Tsql,@MallUnit是一个值为“Unit 401、Unit 402、Unit 403”的参数 我想要一个条件where语句。假设在测试之前,还有其他条件可以正常工作。基本上,如果scheduledmalUnitTypeId为null,则使用IN条件进行计算。否则,使用like子句 AND CASE ScheduledMallUnitTypeID IS NULL THEN ScheduledMallUnitTypeID IN
AND
CASE ScheduledMallUnitTypeID IS NULL THEN
ScheduledMallUnitTypeID IN
(
SELECT Value
FROM Toolbox.dbo.ReportingPortalMultiSetParameterFix(@MallUnit)
)
ELSE ScheduledMallUnitTypeID LIKE @MallUnit
END
这将有助于:
WHERE
( ScheduledMallUnitTypeID IS NULL AND
ScheduledMallUnitTypeID IN
(
SELECT Value
FROM Toolbox.dbo.ReportingPortalMultiSetParameterFix(@MallUnit)
)
)
OR
(
ScheduledMallUnitTypeID IS NOT NULL AND
ScheduledMallUnitTypeID LIKE @MallUnit
)
有些东西不见了
scheduledmalUnityId
不能同时为NULL
和IN(选择…
)。