【发布时间】:2017-09-13 02:18:22
【问题描述】:
我在 VB.NET 中为 SQL Server 执行此操作,但我认为这是一个一般性的 SQL 问题。
我正在构建一个 SQL 查询,我想避免这样做:
Dim SQL As String = "SELECT * FROM Table"
If Not IsDbNull(Value) Then
SQL &= " WHERE Value = " & Value
End If
有没有办法编写 WHERE 子句,如果值为 NULL,则返回查询中的所有行,否则只返回与提供的值匹配的行。
例如:
如果值为 NULL,那么结果集将是:
ID Value City
1 1 New York
2 1 London
3 2 Paris
4 4 Mumbai
如果值为 2,那么结果集将是:
ID Value City
3 2 Paris
我可以编写两个单独的查询,或者像上面那样编写查询,但我想知道是否有更好的方法?
【问题讨论】:
标签: sql sql-server vb.net