Orta Seviye SQL Server Sql Server

SQL Server’da Telefon Formatlama Fonksiyonu

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda SQL Server’da telefon formatlama fonksiyonu hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda elinizdeki telefon numaralarını daha okunabilir kılmak adına formatlayıp göstermek isteyebilirsiniz.

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

--Fonksiyonun oluşturulması

CREATE FUNCTION TelefonFormatlama
(
    @Telefon NVARCHAR(20)
)
RETURNS NVARCHAR(20)
AS
BEGIN
    DECLARE @TelefonFormatli NVARCHAR(20);
    SET @TelefonFormatli
        = (CASE
               WHEN LEN(REPLACE(@Telefon, ' ', '')) = 10 THEN
                   LEFT(REPLACE(@Telefon, ' ', ''), 3) + '-' + SUBSTRING(REPLACE(@Telefon, ' ', ''), 4, 3) + '-'
                   + SUBSTRING(REPLACE(@Telefon, ' ', ''), 7, 2) + '-' + RIGHT(REPLACE(@Telefon, ' ', ''), 2)
               WHEN LEN(REPLACE(@Telefon, ' ', '')) = 11 THEN
                   SUBSTRING(REPLACE(@Telefon, ' ', ''), 2, 3) + '-' + SUBSTRING(REPLACE(@Telefon, ' ', ''), 5, 3) + '-'
                   + SUBSTRING(REPLACE(@Telefon, ' ', ''), 8, 2) + '-' + RIGHT(REPLACE(@Telefon, ' ', ''), 2)
               WHEN LEN(REPLACE(@Telefon, ' ', '')) = 7 THEN
                   LEFT(REPLACE('000' + @Telefon, ' ', ''), 3) + '-' + SUBSTRING(REPLACE('000' + @Telefon, ' ', ''), 4, 3)
                   + '-' + SUBSTRING(REPLACE('000' + @Telefon, ' ', ''), 7, 2) + '-'
                   + RIGHT(REPLACE('000' + @Telefon, ' ', ''), 2)
               ELSE
                   @Telefon
           END
          );

    RETURN @TelefonFormatli;

END;


--Kullanımı

SELECT dbo.TelefonFormatlama('05556669988')
SELECT dbo.TelefonFormatlama('5556669988')

Fonksiyonu oluşturup kodu çalıştırdığınızda aşağıdakine benzer bir sonuç göreceksiniz.

SQL Server'da Telefon Formatlama Fonksiyonu

Görüldüğü üzere telefon numaraları formatlı şekilde gösterilmiş oldu.

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

32 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!