LIKE и NULL в предложении WHERE в SQL
У меня есть процедура магазина, которую я планировал использовать для поиска и получения всех значений.
Сценарий: Если переданный параметрNULL
он должен вернуть все значения таблицы, и если переданный параметр неNULL
он должен возвращать значения в соответствии с условием LIKE.
// Запрос:
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+'%'
В приведенном выше запросе он не возвращает значений при выполнении, так какNULL
принимается заstring
поSQL
так, что я должен написать вwhere
предложение, чтобы получить желаемый результат?