указанному параметру, либо взять всю таблицу, если указанный параметр NULL.
На SO есть такой вопрос
https://stackoverflow.com/questions/19357990/sql-select-all-if-parameter-is-null-else-return-specific-item
Вот только почему-то самый логичный (на мой взгляд) ответ не является самым популярными.
DECLARE @productID INT = NULL
SELECT ProductID, ProductName,ProductDesc
FROM product
WHERE ProductID = @productID
OR @productID IS NULL;
какие плюсы использования CASE, IIF и тд по сравнению с IS NULL в данном случае?
Вообще, осторожнее с этим делом — хотя для простых запросов (из одной таблицы) это (почти всегда?) работает ожидаемо, использование подобных конструкций в сложных может существенно снижать качество планирования запросов (PostgreSQL не очень-то заморачивается constraint exclusion — считается, что Вы сразу должны писать конкретные запросы без лишнего "мусора").
Обсуждают сегодня