我想实现如下功能:
where case when (@a = null) then 1 = 1 else @a=aand b=@b
但是这样报错,经过翻阅资料找到如下解决方案:
where(1 = (CASE WHEN @a IS NULL THEN 1 ELSE 0 END)OR a=@a )AND b=@b
测试得知,当1=1时不执行后面的a=@a,反之执行。
本文共 250 字,大约阅读时间需要 1 分钟。
我想实现如下功能:
where case when (@a = null) then 1 = 1 else @a=aand b=@b
但是这样报错,经过翻阅资料找到如下解决方案:
where(1 = (CASE WHEN @a IS NULL THEN 1 ELSE 0 END)OR a=@a )AND b=@b
测试得知,当1=1时不执行后面的a=@a,反之执行。
转载于:https://www.cnblogs.com/objectnull/p/9378175.html