在一个存储过程,让我们说我有一个标志,它可以是或在哪里,如果子句中的SQL查询
如果,那么我想select * from table A where name = 'blah'
。
如果,那么我想要select * from table A where name = blah and age = 13
。
有没有办法可以将and age = 13
添加到存储过程查询?
这是我目前的。
IF @flag = 1
SELECT * from A where name = 'blah'
ELSE
SELECT * from A where name = 'blah' and age = 13
我想知道哪里查询变得很长的情况下,所以复制和粘贴有几个喜欢的ELSE
情况下是非常低效的。
谢谢。
好的一个!!!!!但是在OR的情况下,OR会是更好的选择! :) –
当将一个值与几个不同列之一(取决于一个标志)进行比较时,此解决方案可以很好地工作。虽然,我会在这个特定情况下使用'OR'选项(更简单)。 – JDB
我同意你和你的发帖,因为它有点不同。 – Kaf