where (@IDCriteria is null or ID=@IDCriteria)
and (@MaxDateCriteria is null or Date<@MaxDateCriteria)
, SQL- , .
IF, .
IF @IDCriteria is not null and @MaxDateCriteria is not null
--query
WHERE ID = @IDCriteria and Date < @MaxDateCriteria
ELSE IF @IDCriteria is not null
--query
WHERE ID = @IDCriteria
ELSE IF @MaxDateCriteria is not null
--query
WHERE Date < @MaxDateCriteria
ELSE
--query
WHERE 1 = 1
, , , .
SQL-, , ?
- , .
Edit:
DECLARE @CustomerNumber int, @CustomerName varchar(30)
SET @CustomerNumber = 123
SET @CustomerName = '123'
SELECT * FROM Customers
WHERE (CustomerNumber = @CustomerNumber OR @CustomerNumber is null)
AND (CustomerName = @CustomerName OR @CustomerName is null)
CustomerName CustomerNumber . : "Clustered
". .
: 20 , n .
"" . , 99,9% AccountIdentifier. , , . 2 3 .
. OR /, .