Herkese merhaba,

Bu yazıda SQL Server’da e-posta adresini uyumlu hale getiren fonksiyon ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda e-posta adreslerine Türkçe karakterler girilmiş olunabilir ya da e-posta adresleri girilmeden önce e-posta adreslerini düzeltmek gerekebilir.

Aşağıdaki fonksiyonu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

CREATE FUNCTION dbo.EPosta_Adresi_Duzelt (@EMAIL NVARCHAR(200))
RETURNS NVARCHAR(200)
AS
BEGIN
	DECLARE @TempString NVARCHAR(200)
	SET @TempString = @EMAIL
	IF NULLIF(@TempString, '') IS NOT NULL
	BEGIN
		IF @TempString LIKE '%@%'
		BEGIN
			SET @TempString = REPLACE(@TempString, ' ', '')
			SET @TempString = REPLACE(@TempString, 'Ü', 'u')
			SET @TempString = REPLACE(@TempString, 'ü', 'u')
			SET @TempString = REPLACE(@TempString, 'Ğ', 'g')
			SET @TempString = REPLACE(@TempString, 'ğ', 'g')
			SET @TempString = REPLACE(@TempString, 'Ç', 'c')
			SET @TempString = REPLACE(@TempString, 'ç', 'c')
			SET @TempString = REPLACE(@TempString, 'Ş', 's')
			SET @TempString = REPLACE(@TempString, 'ş', 's')
			SET @TempString = REPLACE(@TempString, 'İ', 'i')
			SET @TempString = REPLACE(@TempString, 'I', 'i')
			SET @TempString = REPLACE(@TempString, 'ı', 'i')
			SET @TempString = REPLACE(@TempString, 'Ö', 'o')
			SET @TempString = REPLACE(@TempString, 'ö', 'o')
			SET @TempString = LOWER(@TempString)
		END
		ELSE
		BEGIN
			SET @TempString = 'Geçersiz E-Mail Adresi';
		END
	END
	ELSE
	BEGIN
		SET @TempString = 'Boş E-Mail Adresi';
	END
	RETURN @TempString
END
GO

--Kullanımı

SELECT
	dbo.EPosta_Adresi_Duzelt('Sqlservereğitimleri@sqlservereğitimleri.com')

Yukarıdaki fonksiyonu oluşturup çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.

Görüldüğü üzere e-posta adresini uyumlu hale getirmiş olduk.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

157 Kez Okundu

Kategoriler: