خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تعیین معتبر بودن آدرس ایمیل ها در SQL Server
در این پست کوتاه به یکی از موارد جالب در SQL Server خواهیم پرداخت. یکی از معضلاتی که در زمان Data Entry در نرم افزارها وجود دارد، این است که Bad data یا اطلاعات نامعتبر در جداول SQL Server افزوده می شود که برنامه نویسان در نرم افزارها، برای جلوگیری از چنین امری تدابیری می اندیشند تا در حد ممکن از این رویه جلوگیری کنند.
خب، موردی که در این پست کوتاه به آن می پردازیم، چک کردن صحت ایمیل یا صحت فرمت ایمیل می باشد یا از قبل در جداول وارد شده ویا اینکه قبل از insert شدن به جدول، بررسی روی آن انجام شود. در بسیاری از برنامه ها، برای وارد کردن اطلاعات اشخاص، فیلد آدرس الکترونیک یا ایمیل وجود دارد. خب، شما با استفاه از مکانیزمی ساده می توانید از صحت ایمیل وارد شده مطمئن شوید و سپس ایمیل را به جدول اضافه کنید و در غیر اینصورت از اضافه کردن رکورد جلوگیری کنید. این مهم را در دو Function مجزا بررسی خواهیم کرد:
صورتی که ایمیل معتبر باشد، مقدار 1 و در غیر اینصورت مقدار 0 برگردانده می شود:
همانطور که در تصویر فوق مشاهده می کنید،طبق این Function، آدرس ایمیل معتبر شناسایی شد و عدد 1 برگردانده شد ولی در مورد ایمیل زیر، مقدار 0 برگشت، چرا که ایمیل وارد شده نامعتبر می باشد.
از Function دوم هم برای چک کردن آدرس ایمیل در SQL Server می توانید استفاده کنید:
خب، موردی که در این پست کوتاه به آن می پردازیم، چک کردن صحت ایمیل یا صحت فرمت ایمیل می باشد یا از قبل در جداول وارد شده ویا اینکه قبل از insert شدن به جدول، بررسی روی آن انجام شود. در بسیاری از برنامه ها، برای وارد کردن اطلاعات اشخاص، فیلد آدرس الکترونیک یا ایمیل وجود دارد. خب، شما با استفاه از مکانیزمی ساده می توانید از صحت ایمیل وارد شده مطمئن شوید و سپس ایمیل را به جدول اضافه کنید و در غیر اینصورت از اضافه کردن رکورد جلوگیری کنید. این مهم را در دو Function مجزا بررسی خواهیم کرد:
CREATE FUNCTION dbo.EmailValidate(@EMAIL varchar(100))
RETURNS bit as
BEGIN
DECLARE @bitRetVal as Bit IF (@EMAIL <> '' AND @EMAIL NOT LIKE '_%@__%.__%')
SET @bitRetVal = 0
ELSE SET @bitRetVal = 1
RETURN @bitRetVal
END
go
صورتی که ایمیل معتبر باشد، مقدار 1 و در غیر اینصورت مقدار 0 برگردانده می شود:
select dbo.EmailValidate ('khoshamoz@homail.com') AS Validation_Email
همانطور که در تصویر فوق مشاهده می کنید،طبق این Function، آدرس ایمیل معتبر شناسایی شد و عدد 1 برگردانده شد ولی در مورد ایمیل زیر، مقدار 0 برگشت، چرا که ایمیل وارد شده نامعتبر می باشد.
از Function دوم هم برای چک کردن آدرس ایمیل در SQL Server می توانید استفاده کنید:
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
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: