Tôi hiểu rằng bạn muốn một số hành vi động trên WHERE
của bạn mệnh đề mà không cần phải xây dựng động WHERE
của bạn mệnh đề.
Với một tham số duy nhất, bạn có thể sử dụng ISNULL
(hoặc COALESCE
) như thế này:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
cho phép một NULL
tham số để phù hợp với tất cả. Một số thích dài hơn nhưng rõ ràng hơn:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)