Чтобы проверить адрес электронной почты с помощью sql
Привет
Я хочу проверить идентификатор электронной почты с помощью sql2008, как это сделать?
Привет,
Приведенная ниже функция поможет вам ,
Create FUNCTION udf_ValidateEmail (@email varChar(255)) RETURNS bit AS begin return ( select Case When @Email is null then 0 --NULL Email is invalid When charindex(' ', @email) <> 0 or --Check for invalid character charindex('/', @email) <> 0 or --Check for invalid character charindex(':', @email) <> 0 or --Check for invalid character charindex(';', @email) <> 0 then 0 --Check for invalid character When len(@Email)-1 <= charindex('.', @Email) then 0--check for '%._' at end of string When @Email like '%@%@%'or @Email Not Like '%@%.%' then 0--Check for duplicate @ or invalid format Else 1 END ) end
Решение 2, добавил Я
Когда электронная почта является null тогда 0-нуль электронной почты является недействительным
Когда CHARINDEX('@', @Email) = 1, ТО 0 -- <-- я добавил
слишком избегайте этого SELECT dbo.udf_ValidateEmail('@bellsouth.net')
Попробовать это:
SELECT EmailAdd, CASE WHEN EmailAdd LIKE '%_@_%_.__%' AND EmailAdd NOT LIKE '%[Invalid Chars]%' THEN 'Email Address is Correct' ELSE 'Invalid Email Address' END AS 'MSG' FROM Table1
Привет ,
Не могли бы вы попробовать вот так,
DECLARE @regex NVARCHAR(100) SET @regex = N'^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$' SELECT name, emailaddress, dbo.RegExValidate( emailaddress, @regex ) AS validemail FROM dbo.PEOPLE CREATE TABLE dbo.PEOPLE ( name VARCHAR(25) NOT NULL , emailaddress VARCHAR(255) NOT NULL , CONSTRAINT PEOPLE_ck_validemailaddress CHECK ( dbo.RegExValidate( emailaddress, N'^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$' ) = 1 ) )
Проверьте ссылку ниже, используя TSQL
Проверка электронной почты с помощью TSQL - REGX
[^]
--РА