Опираясь на пример Ian Nelson , мы можем добавить быструю проверку, чтобы мы возвращали начальное значение, если мы не найдем наш индекс.
DECLARE @email VARCHAR(100)
SET @email = 'firstname.lastname.email.com/IMCLientName'
SELECT CASE WHEN CHARINDEX('@',@email) > 0
THEN SUBSTRING(@email,0, CHARINDEX('@',@email))
ELSE @email
END AS email
Это вернет 'firstname.lastname.email.com/IMCLientName.Если бы вы использовали firstname.lastname@email.com/IMCLientName, то в результате вы получите firstname.lastname.