То, что я хочу, это когда @AddressCode
равно нулю, тогда просто выполните
SELECT
*
FROM
Addresses
WHERE
1= 1
Если @AddressCode не равно NULL, тогда выполните
SELECT
*
FROM
Addresses
WHERE
1= 1 AND @AddressCode=Addresses.AddressCode
Как мне добиться этого ...Я попробовал запрос ниже, и он не работает для адреса со значением NULL
или когда @AddressCode is NULL
.... (Адреса - это просто воображаемое имя таблицы)
Declare @AddressCode varchar(20)
Set @AddressCode=NULL
SELECT
*
FROM
Addresses
WHERE
1= 1
AND
CASE @AddressCode
WHEN NULL
THEN Addresses.AddressCode
ELSE @AddressCode
END =Addresses.AddressCode
Я пытался, но не смогсделать это ... Я знаю, что могу написать заявление IF и написать отдельное предложение выбора, но не хочу этого делать, так как у меня много таких критериев, как @AddressCode
: (