LIKE i NULL w klauzuli WHERE w SQL
Mam procedurę przechowywania, którą planowałem użyć do wyszukiwania i uzyskania wszystkich wartości.
Scenariusz: Jeśli przekazany parametr toNULL
powinien zwracać wszystkie wartości tabeli i jeśli przekazany parametr nie jestNULL
powinien zwracać wartości zgodnie z warunkiem w LIKE.
//Pytanie:
ALTER procedure [dbo].[usp_GetAllCustomerDetails]
(
@Keyword nvarchar(20) = null
)
As
Begin
Select CustomerId,CustomerName,CustomerTypeName,CustomerCode,CategoryName,CustomerMobile,CustomerEmail,CustomerAddress,CustomerCity,CustomerState,Pincode
from tblCustomerMaster CM
inner join dbo.tblCustomerTypeMaster CTM on CTM.CustomerTypeId = CM.CustomerType
inner join dbo.tblCategoryMaster CCM on CCM.CategoryId= CM.CustomerCategory
where CustomerName like '%'+@Keyword+'%'
W powyższym zapytaniu nie zwraca żadnych wartości, gdy wykonuję od czasuNULL
zakłada się jakostring
przezSQL
, więc co powinienem napisać wwhere
klauzula, aby uzyskać pożądany wynik?