我在存储过程中的SQL语句下方编写内容,但无法在查询中创建条件SQL。我将以下输入参数传递给存储过程
@givenDate='2019-08-08' --Date
@boolinput1=1 --boolean datatype
@boolinput2=1 --bolean datatype
@xmonths=6 --int
select *
from employee
Where ((birthdate>=DATEADD(m, -@xmonths, @givenDate) AND @boolinput1=1) OR
(birthdate<=@givenDate and @boolinput2=1))
当@ boolinput1 = 1和@ boolinput2 = 0或boolinput1 = 0和@ boolinput2 = 1时,上述条件将适用于个别条件
当两个条件都为真时,例如,@ boolinput1 = 1和@ boolinput2 = 1,我需要sql查询,然后在以下条件下工作,而不是部分工作
select *
from employee
Where (birthdate>=DATEADD(m, -@xmonths, @givenDate AND @boolinput1 )
如果您不希望在第一个条件的“指标”条件为true时AND @boolinput1=0使用第二个条件条件,只需将其添加到第二个条件条件中即可。
或者,如果这是在存储过程中执行的,则在查询执行之前,如果第二个指示器为true,则可以强制第二个指示器为false。
IF (@boolinput1=1)
SET @boolinput2 = 0;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。