je veux faire quelque chose comme ceci:Inline Si états dans SQL
DECLARE @IgnoreNulls = 1;
SELECT Col1, Col2
FROM tblSimpleTable
IF @IgnoreNulls
BEGIN
WHERE Col2 IS NOT NULL
END
ORDER BY Col1 DESC;
L'idée est de, d'une manière très PHP/ASP.NET-ish un peu, filtrer seulement NULLs si l'utilisateur souhaite. Est-ce possible en T-SQL? Ou avons-nous besoin d'un grand bloc IF comme ceci:
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, s'il n'y a qu'un seul paramètre, comme la question semble indiquer, cela ressemble à une bonne Solution. [Conditions de recherche dynamique dans T-SQL - Utilisation des instructions IF] (http://www.sommarskog.se/dyn-search-2005.html#IF) –