Краткият отговор е, че не, не може да се направи. Синтаксисът за LIKE не е същото като (и много по-малко мощно от) регулярните изрази. Вижте също SQL Server регулярни изрази в T-SQL
Но можете да преминете към .Net и да направите съвпадението там. Можете да създадете екземпляр на VBScript.RegExp
вътре в T-SQL с помощта на sp_OACreate и използвайте това.
CREATE FUNCTION dbo.isValidEmailFormat
(
@Email varchar(100)
)
RETURNS bit
AS
BEGIN
DECLARE @pattern varchar(4000)
SET @pattern = '[a-zA-Z0-9_\-][email protected]([a-zA-Z0-9_\-]+\.)+(com|org|edu|nz|au)'
DECLARE @Result bit
DECLARE @objRegexExp INT
EXEC sp_OACreate 'VBScript.RegExp', @objRegexExp OUT
EXEC sp_OASetProperty @objRegexExp, 'Pattern', @pattern
EXEC sp_OASetProperty @objRegexExp, 'IgnoreCase', 1
EXEC sp_OASetProperty @objRegexExp, 'MultiLine', 0
EXEC sp_OASetProperty @objRegexExp, 'Global', false
EXEC sp_OASetProperty @objRegexExp, 'CultureInvariant', true
EXEC sp_OAMethod @objRegexExp, 'Test', @Result OUT, @Email
EXEC sp_OADestroy @objRegexExp
RETURN @Result
END
Надникнете в Грешка при потвърждаване на имейл с Regex - използване на JavaScript за да видите дали искате да бъдете малко по-малко ограничителни относно това какви знаци са разрешени.