जबकि COALESCE
चाल साफ है, मेरा पसंदीदा तरीका है:
CREATE PROCEDURE ps_Customers_SELECT_NameCityCountry
@Cus_Name varchar(30) = NULL
,@Cus_City varchar(30) = NULL
,@Cus_Country varchar(30) = NULL
,@Dept_ID int = NULL
,@Dept_ID_partial varchar(10) = NULL
AS
SELECT Cus_Name
,Cus_City
,Cus_Country
,Dept_ID
FROM Customers
WHERE (@Cus_Name IS NULL OR Cus_Name LIKE '%' + @Cus_Name + '%')
AND (@Cus_City IS NULL OR Cus_City LIKE '%' + @Cus_City + '%')
AND (@Cus_Country IS NULL OR Cus_Country LIKE '%' + @Cus_Country + '%')
AND (@Dept_ID IS NULL OR Dept_ID = @DeptID)
AND (@Dept_ID_partial IS NULL OR CONVERT(varchar, Dept_ID) LIKE '%' + @Dept_ID_partial + '%')
इस तरह के एसपी आसानी से कोड जेनरेट किए जा सकते हैं (और टेबल-परिवर्तन के लिए फिर से जेनरेट किए जा सकते हैं)।
आपके पास संख्याओं को संभालने के लिए कुछ विकल्प हैं - इस पर निर्भर करते हुए कि आप सटीक शब्दार्थ या खोज शब्दार्थ चाहते हैं।