我有一种情况,表中有一个名为“类型”的列。在类型上,它可以是 BA、AB 或除 null 之外的其他三个组合 varchar。我只关心BA或AB。
我的问题是在 where 子句上过滤它,因为在存储过程中,我需要将它放到将被 @Type 传入的内容过滤的位置。所以他们可以传入 BA、AB 或“任何一个”,因此 where 子句将寻找合适的匹配项。(目前没有where子句,我需要添加它)。
这是事情,如果我这样做:
WHERE Type = @Type
如果他们传入“BA”或“AB”,那将非常有用,但如果他们想要,我将如何处理,包括 null(也就是存储的过程应该像往常一样运行)。
我想知道是否可以在 where 周围做一个 IF:
(psuedocode)
IF @type = ' BA' or 'AB' Then WHERE Type = @ Type
ELSE -no where clause is needed, do what the stored proc has always done
有什么想法吗?