Как я могу изменить эту хранимую процедуру, чтобы она также возвращала строки со значениями столбца NULL?
@title VARCHAR(50) NULL,
@initials VARCHAR(100) NULL,
@surname VARCHAR(100) NULL,
AS
BEGIN
SELECT
ID, MEMBERSHIP_ID, TITLE, INITIALS, SURNAME,
FROM
MEMBERSHIP_DTLS
WHERE
TITLE = (CASE WHEN @title IS NULL THEN (TITLE) ELSE @title END)
AND INITIALS = (CASE WHEN @initials IS NULL THEN INITIALS ELSE @initials END )
AND SURNAME = (CASE WHEN @surname IS NULL THEN SURNAME ELSE @surname END)
END
GO
Что я пытаюсь сделать здесь, это то, что если в процедуру передается параметр NULL, то результатывозвращенный не будет отфильтрован этим параметром, поэтому, если все параметры были нулевыми, то все в этой таблице возвращается.
Вышеприведенное работает только со значениями столбцов, которые не равны нулю, когда нулевое значение передается всем параметрам, тогданичего не возвращается, фактическая хранимая процедура имеет много других параметров, поэтому я не могу найти решение, в котором я переписываю выражение для соответствия каждой комбинации.