Объявите 2 дополнительные переменные, содержащие значения min и max для типа данных MONEY
, а затем замените эти значения на NULL
.
EDIT: так как вы хотитеисключив результат, если оба параметра NULL
, перед выполнением запроса я выполню условную проверку перед изменением значения параметра с NULL
на @MoneyMin
или @MoneyMax
:
DECLARE @MoneyMin MONEY
DECLARE @MoneyMax MONEY
SET @MoneyMin = -922,337,203,685,477.5808
SET @MoneyMax = 922,337,203,685,477.5807
IF (@MinPV IS NOT NULL OR @MaxPV IS NOT NULL)
SELECT @MinPV = ISNULL(@MinPV, @MoneyMin), @MaxPV = ISNULL(@MaxPV, @MoneyMax)
IF (@MinGV IS NOT NULL OR @MaxGV IS NOT NULL)
SELECT @MinGV = ISNULL(@MinGV, @MoneyMin), @MaxGV = ISNULL(@MaxGV, @MoneyMax)
SELECT psv,*
FROM Distributordetail
WHERE
(PSV BETWEEN @MinPV AND @MaxPV) OR
(GSV BETWEEN @MinGV AND @MaxGV)