我想实现如下功能:
where case when (@a = null) then 1 = 1 else @a=a and b=@b
但是这样报错,经过翻阅资料找到如下解决方案:
where (1 = (CASE WHEN @a IS NULL THEN 1 ELSE 0 END) OR a=@a ) AND b=@b
测试得知,当1=1时不执行后面的a=@a,反之执行。
我想实现如下功能:
where case when (@a = null) then 1 = 1 else @a=a and b=@b
但是这样报错,经过翻阅资料找到如下解决方案:
where (1 = (CASE WHEN @a IS NULL THEN 1 ELSE 0 END) OR a=@a ) AND b=@b
测试得知,当1=1时不执行后面的a=@a,反之执行。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。