CASE КОГДА не работает с электронной почтой

sql-запрос ниже отлично подходит для всех проверок в CASE WHEN, принять некоторые электронные письма. Когда каждый я запускаю проверку запроса на электронную почту, она работает иногда, а иногда и нет. Я сделал RTRIM (LTRIM (m.Email)), и это тоже не работает. Есть ли что-то, что мне нужно делать при сравнении электронных писем?

exec BuildingPros.uspGetEmployees 1697,'Email','[email protected]' alter proc BuildingPros.uspGetEmployees @ProID INT, @Where VARCHAR(12) = NULL, @Equals VARCHAR(25) = NULL AS SELECT m.UserId,u.UserName,e.NonProID'ID',m.Email,c.FirstName'FName',c.LastName'LName', ISNULL(c.Title,'NA')'Title',z.ZIPCode'Zip', p.Phone FROM Person.UtbAddressesutbContact ac JOIN Person.utbAddresses a ON ac.AddressID = a.AddressID JOIN Person.utbContact c ON ac.ContactID = c.ContactID JOIN Person.utbZipCodes z ON z.ZipCodeID = a.ZipCodeID JOIN Person.utbCitys city ON city.CityID = z.CityID JOIN Person.utbContactUtbPhones cp ON c.ContactID = cp.ContactID JOIN Person.utbPhones p ON p.PhoneID = cp.PhonesID JOIN NonPros.utbNonProsUtbAddresses ea ON a.AddressID = ea.AddressID JOIN aspnet_Membership m JOIN NonPros.NonPros e ON m.UserId = e.UserID ON ea.NonProID = e.NonProID JOIN BuildingPros.utbProfessionalsUtbNonPros pe ON e.NonProID = pe.NonProID JOIN dbo.aspnet_Users u ON u.UserId = m.UserId WHERE CASE @Where WHEN 'Email' THEN m.Email WHEN 'Name' THEN c.LastName WHEN 'Zip' THEN z.ZIPCode WHEN 'ST' THEN z.StateCD WHEN 'Title' THEN c.Title WHEN 'TimeZone' THEN z.TimeZone WHEN 'City' THEN city.City END = @Equals 

Я подозреваю, что он работает для тех электронных писем длиной менее 26 символов, и это не удается для писем длиной 26 символов или более. VARCHAR(25) недостаточно для адреса электронной почты.

  • Выберите случай сравнения двух столбцов
  • Выражение CASE в формате условных полей комбинации
  • SQL: вложенное условие в случае когда предложение
  • Синтаксис запроса SQL Server (подзапросы, скобки и CASE WHEN)
  • Что случилось с этим использованием try_convert?
  • Как использовать значение из строки выше, когда заданное значение столбца равно нулю?
  • Если значение не указано в таблице A, выберите исходное значение
  • Оператор SQL CASE .. WHEN .. IN
  • Дни смерти SQL Count
  • Ошибка преобразования TSQL NVARCHAR внутри оператора CASE
  • Смущение над оператором SQL для CASE КОГДА внутри INSERT
  • Давайте будем гением компьютера.