LIKE und NULL in der WHERE-Klausel in SQL
Ich habe eine Speicherprozedur, die ich für die Suche verwenden und alle Werte erhalten möchte.
Szenario: Wenn der übergebene Parameter istNULL
es sollte alle Werte der Tabelle zurückgeben und wenn der übergebene Parameter nicht istNULL
es sollte die Werte gemäß der Bedingung zurückgeben, die in LIKE ist.
//Abfrage:
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+'%'
In der obigen Abfrage gibt es keine Werte zurück, wenn ich seit dem ausführeNULL
wird angenommen alsstring
durchSQL
, also was soll ich in die schreibenwhere
Klausel, um die gewünschte Ausgabe zu erhalten?