У меня странная проблема с одним из моих SP.
У меня есть SP и один из параметров типа nvarchar.
и я объявляю параметр, я также включаю значение, но когда я работаю, данные не возвращаются.
короткий пример:
@BookName nvarchar = null
Тогда в предложении where у меня есть:
AND (o.BookName = @BookName OR @BookName IS NULL)
Данные не возвращаются.
Но когда я делаю:
AND (o.BookName = 'SQL Book' OR @BookName IS NULL)
Я получаю правильные результаты.
Просто чтобы вы знали, что поле не FK.
Есть идеи, в чем может быть причина?
Спасибо
UPDATE:
SP СОДЕРЖАНИЕ:
ALTER PROCEDURE [dbo].[AdvancedSearch]
(
@StartTime datetime = null,
@EndTime datetime = null,
@CustomerEmail nvarchar(255) = null,
@BookName nvarchar = null
)
AS
BEGIN
SET NOCOUNT ON
SELECT DISTINCT o.OrderID, o.OrderTotal FROM Nop_Order o
WHERE (o.CreatedOn > @StartTime OR @StartTime IS NULL)
AND (o.CreatedOn < @EndTime OR @EndTime IS NULL)
AND (o.ShippingEmail = @CustomerEmail OR @CustomerEmail IS NULL)
AND (o.BookName = @BookName OR @BookName IS NULL)
ORDER BY o.OrderID
END