La respuesta corta es que no, no se puede hacer. La sintaxis de ME GUSTA no es lo mismo que (y mucho menos poderoso que) las expresiones regulares. Consulte también Expresiones regulares de SQL Server en T-SQL
Pero puede hacer el salto a .Net y hacer la coincidencia allí. Puede instanciar un VBScript.RegExp
dentro de T-SQL usando sp_OACreate y usa eso.
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
Eche un vistazo a Error de verificación de correo electrónico Regex - usando JavaScript para ver si quieres ser un poco menos restrictivo sobre qué caracteres están permitidos.