У меня есть хранимая процедура, которая извлекает информацию из таблицы на основе 4 параметров.
Я хочу получить значения на основе параметров, но если параметр NULL, этот параметр не проверяется. Поэтому, если все 4 параметра равны нулю, я бы показал всю таблицу.
Это мой SP (как вы можете видеть, это работает только для 1 параметра atm):
CREATE PROCEDURE myProcedure
@Param1 nvarchar(50),
@Param2 nvarchar(50),
@Param3 nvarchar(50),
@Param4 nvarchar(50)
AS
BEGIN
IF(@Param1 IS NULL)
BEGIN
SELECT Id, col1, col2, col3, col4 FROM myTable
END
ELSE
BEGIN
SELECT Id, col1, col2, col3, col4 FROM myTable WHERE col1 LIKE @Param1+'%'
END
END
Есть ли способ сделать это без наличия IF
для каждой возможной комбинации (15 IFs)?