0
我在VB.NET for SQL Server中执行此操作,但我认为这是一个通用的SQL问题。SQL WHERE子句:根据值获取所有行/只匹配行
我建立一个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
我可以编写两个单独的查询或按上述方式编写查询,但我想知道是否有更好的方法?
我同意参数和例子被简化以节省空间。 –
OMG ...自80年代中期以来,我一直在写SQL,我无法相信我错过了一个简单的答案。谢谢戈登。 –