Я хочу сделать что-то вроде этого:Инлайн Если отчеты в SQL
DECLARE @IgnoreNulls = 1;
SELECT Col1, Col2
FROM tblSimpleTable
IF @IgnoreNulls
BEGIN
WHERE Col2 IS NOT NULL
END
ORDER BY Col1 DESC;
Идея заключается в том, чтобы, в очень PHP/ASP.NET-иш своего рода путь, только фильтр NULLs, если пользователь хочет. Возможно ли это в T-SQL? Или нам нужен один большой IF блок, как так:
IF @IgnoreNulls
BEGIN
SELECT Col1, Col2
FROM tblSimpleTable
WHERE Col2 IS NOT NULL
ORDER BY Col1 DESC;
END
ELSE
BEGIN
SELECT Col1, Col2
FROM tblSimpleTable
ORDER BY Col1 DESC;
END
+1, если имеется только один параметр, как вопросы, кажется, указывает, что это выглядит как хороший решение. [Динамические условия поиска в T-SQL - с использованием операторов IF] (http://www.sommarskog.se/dyn-search-2005.html#IF) –