Click here to Skip to main content
15,883,705 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi
I want to validate email id using sql2008, how to do it?
Posted
Updated 30-Apr-18 3:49am
v2

Hi,

The below function will help for u ,

SQL
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
 
Share this answer
 
Hi ,

Can u please try like this,

SQL
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 )
)
 
Share this answer
 
Try this:
SQL
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

Refer this[^] for SQL Server function to validate email addresses.


All the best.
--Amit
 
Share this answer
 
Solution 2, I added
WHEN @Email is null then 0 --NULL Email is invalid
WHEN CHARINDEX('@', @Email) = 1 then 0 -- <-- I ADDED

too avoid this SELECT dbo.udf_ValidateEmail('@bellsouth.net')
 
Share this answer
 
Check the below link, using TSQL
Email Validation using TSQL - REGX
[^]

--RA
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900