Pie*_*rcy 2 sql t-sql sql-server null integer
我有一种情况,我调用存储过程并传入一些变量.在某些情况下,我将传递null,我希望它返回所有内容.采取以下(年龄为整数列):
[Table]
[Name] | [Age]
Mike | 22
Fred | 18
Bob | 22
SELECT * FROM [table] WHERE [Age]=@AgeVar
Run Code Online (Sandbox Code Playgroud)
现在,如果我通过22,我会得到迈克和鲍勃.同样地传入18将让我得到弗雷德.但是,当我传入null /不设置@AgeVar时,如果我想要所有3行怎么办?这是我的问题,非常简单.
编辑:Sproc是非常复杂的,我真的不想把所有部分加倍,但必须要两次,因为在下面的一个答案中.还有其他方法吗?
SELECT * FROM [table] WHERE [Age]=@AgeVar OR @AgeVar IS NULL
Run Code Online (Sandbox Code Playgroud)
正如上面和下面多次提到的,这种技术会破坏大型表的查询性能.用户要小心.
归档时间: |
|
查看次数: |
1965 次 |
最近记录: |