我想使用条件为查询选择一个子句来进行查询。 就是这样。关于where子句的SQL条件语句
SELECT Id,name,last_name,submitDate,lastvisitDate
from Visitor Where if(submitDate is not null) begin submitDate >= @dateFrom end
and if(submitDate is not null) begin submitDate < @dateTo end
,但我需要,例如,如果@dateTo is null
这个变量不会对过滤查询
但是当你说是空,选择将在该字段上查找空值? – jcvegan 2012-01-16 20:47:10
@JuanCarlosVegaNeira:不,[[ISNULL()'](http://msdn.microsoft.com/zh-cn/library/ms184325.aspx“ISNULL(Transact-SQL)”)仅返回第二个参数,如果第一个参数一个是NULL,否则返回第一个参数。在我的例子中,如果它为NULL,ISNULL为'@ dateTo'提供了一个默认值。所以,如果'@ dateTo' *为* NULL,'submitDate'将被比较为一个非常大的值,这与我们忽略该条件相同,因为它肯定会返回'true'。 – 2012-01-16 21:03:55
这工作正常,谢谢! – jcvegan 2012-01-16 21:36:36