私はIIFを試しました。 @ShippedDateに値がある場合は、その値だけを照会するか、他の値を照会します。where句の複数選択肢
WHERE
(CASE WHEN @ShippedDate != NULL THEN date_shipped = @ShippedDate
ELSE
[order].order_date BETWEEN @StartDate AND @EndDate
AND program_types.id IN (@ProgTypes)
AND employee.id IN (@RepNames)
END
ORDER BY OrderID
Caseは列の値を返すために使用される式です。このように、条件付きで他の述語を入れ替えることはできません。何もNULLに等しくなることはありません。 –
'id IN(@ProgTypes)'?それはSQL Serverでも可能ですか? '@ProgTypes'はある種の配列変数ですか? –
@ThorstenKettner単一の値だけが含まれている限り可能です。 ;)しかし、私は彼らがそれをやっていないと思う。 –