संक्षिप्त उत्तर यह है कि नहीं, ऐसा नहीं किया जा सकता है। LIKE के लिए सिंटैक्स नियमित अभिव्यक्तियों के समान नहीं है (और इससे कम शक्तिशाली)। यह भी देखें T-SQL में SQL सर्वर रेगुलर एक्सप्रेशनए>
लेकिन आप .NET पर हॉप कर सकते हैं और वहां मिलान कर सकते हैं। आप एक VBScript.RegExp
. को इंस्टेंट कर सकते हैं 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 ईमेल सत्यापन त्रुटि पर एक नज़र डालें - जावास्क्रिप्ट का उपयोग करना यह देखने के लिए कि क्या आप कुछ कम प्रतिबंधित होना चाहते हैं कि किन वर्णों की अनुमति है।