我有一个包含5列的表,我想定义一个参数化的选择查询来获取一些行。
ID Date LetterNumber divider1 divider2 ----------------------------------------------------- 1 01/01/2013 2654 work sent 2 01/01/2013 8796 vacation sent 3 05/01/2013 4638 home recived 4 05/01/2013 4695 work recived 5 05/01/2013 2356 child recived 6 09/03/2013 1358 child recived 7 20/06/2013 1976 work sent 8 21/06/2013 2468 vacation sent 9 21/06/2013 9764 home sent 10 30/08/2013 5346 work recived
我想为每个divider1
,divider2
编写一个查询并传递参数,并获取一些数据。但有些时候我可能不会使用其中一个参数。例如,有时我需要通过过滤divider2
获取数据并获得“已发送”,有时需要过滤divider1
和divider2
以获得LetterNumber
具有“工作”值的数据divider1
上的divider2
和“已发送”值。
那么,有没有办法将空值作为参数动态地未过滤的字段?
答案 0 :(得分:3)
假设您的divider1和divider2参数为@d1
和@d2
,您可以获取以下数据:
select
ID,
Date,
LetterNumber,
divider1,
divider2
from your_table
where
(divider1 = @d1 or @d1 is null)
and (divider2 = @d2 or @d2 is null)
在这种情况下,如果您将null
传递给任何参数 - 它将不会用于过滤。
答案 1 :(得分:2)
<system.net>
<settings>
<ipv6 enabled="true"/>
<servicePointManager expect100Continue="false"/>
</settings>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True" />
</defaultProxy>
答案 2 :(得分:0)
使用OR Condition例如
Sub AutoForwardIfFrom(objMail As Outlook.MailItem)
' Ensure we are working with email items only
If (objMail.Class <> OlItemType.olMailItem) Then Exit Sub
''''''''' My Code here
End Sub