У меня есть этот запрос
SELECT COUNT(Email) FROM Blacklist WHERE (Email = @email OR (Email like '@%' AND @email like '%' + Email)) AND (CustomerId = @cid OR CustomerId = -1)
Я хочу посмотреть, начинается ли значение в черном списке с @, и если да, то я также хочу проверить параметр и se, если оно заканчивается значением в черном списке.
(Email like '@%' AND @email like '%' + Email)
Это работает в SqlManager, если я объявляю переменные точно так, как они находятся в таблице, как это.
declare @email as nvarchar(200) = 'firstname.lastname@xyz.com'
declare @cid as integer = 2
SELECT COUNT(Email) FROM Blacklist WHERE (Email = @email OR (Email like '@%' AND @email like '%' + Email)) AND CustomerId = @cid
Значение в черном списке - "@ xyz.com"
Если я удаляю часть (200) из nvarchar (200), она перестает работать.
Так что мой вопрос, как решить эту проблему из .NET C #?
db.AddParameter("@email", SqlDbType.NVarChar, email);