SQL Server ile ilgili her şey.

SQL Server’da Şehir Adına Göre Telefon Alan Kodunu Getiren Fonksiyon

S

Herkese merhaba,

Bu yazıda SQL Server’da şehir adına göre telefon alan kodunu getiren fonksiyon hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda şehir adına göre telefon kodunu getirmek isteyebilirsiniz.

Konu ile ilgili Türkçe makale ya da yazı bulamadığım için fonksiyon oluşturmaya karar verdim. Bu konu hakkında yazılmış olan ilk makaledir. Fonksiyon daha da geliştirilebilir.

Aşağıdaki fonksiyon yardımıyla bu işlemi rahatlıkla yapabilirsiniz.

--Fonksiyonun oluşturulması

CREATE FUNCTION IleGoreAlanKoduBulma
(
    @SehirAd VARCHAR(50)
)
RETURNS INT
AS
BEGIN
    SET @SehirAd = UPPER(SUBSTRING(@SehirAd, 1, 1)) + LOWER(SUBSTRING(@SehirAd, 2, LEN(@SehirAd)));
    DECLARE @AlanKodu INT;
    IF @SehirAd = 'Adana'
    BEGIN
        SET @AlanKodu = 322;
    END;

    ELSE IF @SehirAd = 'Adıyaman'
    BEGIN
        SET @AlanKodu = 416;
    END;

    ELSE IF @SehirAd = 'Afyonkarahisar'
    BEGIN
        SET @AlanKodu = 272;
    END;

    ELSE IF @SehirAd = 'Ağrı'
    BEGIN
        SET @AlanKodu = 472;
    END;

    ELSE IF @SehirAd = 'Aksaray'
    BEGIN
        SET @AlanKodu = 382;
    END;

    ELSE IF @SehirAd = 'Amasya'
    BEGIN
        SET @AlanKodu = 358;
    END;
    ELSE IF @SehirAd = 'Ankara'
    BEGIN
        SET @AlanKodu = 312;
    END;
    ELSE IF @SehirAd = 'Antalya'
    BEGIN
        SET @AlanKodu = 242;
    END;
    ELSE IF @SehirAd = 'Ardahan'
    BEGIN
        SET @AlanKodu = 478;
    END;
    ELSE IF @SehirAd = 'Artvin'
    BEGIN
        SET @AlanKodu = 466;
    END;
    ELSE IF @SehirAd = 'Aydın'
    BEGIN
        SET @AlanKodu = 256;
    END;
    ELSE IF @SehirAd = 'Balıkesir'
    BEGIN
        SET @AlanKodu = 266;
    END;
    ELSE IF @SehirAd = 'Bartın'
    BEGIN
        SET @AlanKodu = 378;
    END;
    ELSE IF @SehirAd = 'Batman'
    BEGIN
        SET @AlanKodu = 488;
    END;
    ELSE IF @SehirAd = 'Bayburt'
    BEGIN
        SET @AlanKodu = 458;
    END;
    ELSE IF @SehirAd = 'Bilecik'
    BEGIN
        SET @AlanKodu = 228;
    END;
    ELSE IF @SehirAd = 'Bingöl'
    BEGIN
        SET @AlanKodu = 426;
    END;
    ELSE IF @SehirAd = 'Bitlis'
    BEGIN
        SET @AlanKodu = 434;
    END;
    ELSE IF @SehirAd = 'Bolu'
    BEGIN
        SET @AlanKodu = 374;
    END;
    ELSE IF @SehirAd = 'Burdur'
    BEGIN
        SET @AlanKodu = 248;
    END;
    ELSE IF @SehirAd = 'Bursa'
    BEGIN
        SET @AlanKodu = 224;
    END;
    ELSE IF @SehirAd = 'Çanakkale'
    BEGIN
        SET @AlanKodu = 286;
    END;
    ELSE IF @SehirAd = 'Çankırı'
    BEGIN
        SET @AlanKodu = 376;
    END;
    ELSE IF @SehirAd = 'Çorum'
    BEGIN
        SET @AlanKodu = 364;
    END;
    ELSE IF @SehirAd = 'Denizli'
    BEGIN
        SET @AlanKodu = 258;
    END;
    ELSE IF @SehirAd = 'Diyarbakır'
    BEGIN
        SET @AlanKodu = 412;
    END;
    ELSE IF @SehirAd = 'Düzce'
    BEGIN
        SET @AlanKodu = 380;
    END;
    ELSE IF @SehirAd = 'Edirne'
    BEGIN
        SET @AlanKodu = 284;
    END;
    ELSE IF @SehirAd = 'Elazığ'
    BEGIN
        SET @AlanKodu = 424;
    END;
    ELSE IF @SehirAd = 'Erzincan'
    BEGIN
        SET @AlanKodu = 446;
    END;
    ELSE IF @SehirAd = 'Erzurum'
    BEGIN
        SET @AlanKodu = 442;
    END;
    ELSE IF @SehirAd = 'Eskişehir'
    BEGIN
        SET @AlanKodu = 222;
    END;
    ELSE IF @SehirAd = 'Gaziantep'
    BEGIN
        SET @AlanKodu = 342;
    END;
    ELSE IF @SehirAd = 'Giresun'
    BEGIN
        SET @AlanKodu = 454;
    END;
    ELSE IF @SehirAd = 'Gümüşhane'
    BEGIN
        SET @AlanKodu = 456;
    END;
    ELSE IF @SehirAd = 'Hakkari'
    BEGIN
        SET @AlanKodu = 438;
    END;
    ELSE IF @SehirAd = 'Hatay'
    BEGIN
        SET @AlanKodu = 326;
    END;
    ELSE IF @SehirAd = 'Iğdır'
    BEGIN
        SET @AlanKodu = 476;
    END;
    ELSE IF @SehirAd = 'Isparta'
    BEGIN
        SET @AlanKodu = 246;
    END;
    ELSE IF @SehirAd = 'İstanbul-Avrupa'
    BEGIN
        SET @AlanKodu = 212;
    END;
    ELSE IF @SehirAd = 'İstanbul-Anadolu'
    BEGIN
        SET @AlanKodu = 216;
    END;
    ELSE IF @SehirAd = 'İzmir'
    BEGIN
        SET @AlanKodu = 232;
    END;
    ELSE IF @SehirAd = 'Kahramanmaraş'
    BEGIN
        SET @AlanKodu = 344;
    END;
    ELSE IF @SehirAd = 'Karabük'
    BEGIN
        SET @AlanKodu = 370;
    END;
    ELSE IF @SehirAd = 'Karaman'
    BEGIN
        SET @AlanKodu = 338;
    END;
    ELSE IF @SehirAd = 'Kars'
    BEGIN
        SET @AlanKodu = 474;
    END;
    ELSE IF @SehirAd = 'Kastamonu'
    BEGIN
        SET @AlanKodu = 366;
    END;
    ELSE IF @SehirAd = 'Kayseri'
    BEGIN
        SET @AlanKodu = 352;
    END;
    ELSE IF @SehirAd = 'Kırıkkale'
    BEGIN
        SET @AlanKodu = 318;
    END;
    ELSE IF @SehirAd = 'Kırklareli'
    BEGIN
        SET @AlanKodu = 288;
    END;
    ELSE IF @SehirAd = 'Kırşehir'
    BEGIN
        SET @AlanKodu = 386;
    END;
    ELSE IF @SehirAd = 'Kilis'
    BEGIN
        SET @AlanKodu = 348;
    END;
    ELSE IF @SehirAd = 'Kocaeli'
    BEGIN
        SET @AlanKodu = 262;
    END;
    ELSE IF @SehirAd = 'Konya'
    BEGIN
        SET @AlanKodu = 332;
    END;
    ELSE IF @SehirAd = 'Kütahya'
    BEGIN
        SET @AlanKodu = 274;
    END;
    ELSE IF @SehirAd = 'Malatya'
    BEGIN
        SET @AlanKodu = 422;
    END;
    ELSE IF @SehirAd = 'Manisa'
    BEGIN
        SET @AlanKodu = 236;
    END;
    ELSE IF @SehirAd = 'Mardin'
    BEGIN
        SET @AlanKodu = 482;
    END;
    ELSE IF @SehirAd = 'Mersin'
    BEGIN
        SET @AlanKodu = 324;
    END;
    ELSE IF @SehirAd = 'Muğla'
    BEGIN
        SET @AlanKodu = 252;
    END;
    ELSE IF @SehirAd = 'Muş'
    BEGIN
        SET @AlanKodu = 436;
    END;
    ELSE IF @SehirAd = 'Nevşehir'
    BEGIN
        SET @AlanKodu = 384;
    END;
    ELSE IF @SehirAd = 'Niğde'
    BEGIN
        SET @AlanKodu = 388;
    END;
    ELSE IF @SehirAd = 'Ordu'
    BEGIN
        SET @AlanKodu = 452;
    END;
    ELSE IF @SehirAd = 'Osmaniye'
    BEGIN
        SET @AlanKodu = 328;
    END;
    ELSE IF @SehirAd = 'Rize'
    BEGIN
        SET @AlanKodu = 464;
    END;
    ELSE IF @SehirAd = 'Sakarya'
    BEGIN
        SET @AlanKodu = 264;
    END;
    ELSE IF @SehirAd = 'Samsun'
    BEGIN
        SET @AlanKodu = 362;
    END;
    ELSE IF @SehirAd = 'Siirt'
    BEGIN
        SET @AlanKodu = 484;
    END;
    ELSE IF @SehirAd = 'Sinop'
    BEGIN
        SET @AlanKodu = 368;
    END;
    ELSE IF @SehirAd = 'Sivas'
    BEGIN
        SET @AlanKodu = 346;
    END;
    ELSE IF @SehirAd = 'Şanlıurfa'
    BEGIN
        SET @AlanKodu = 414;
    END;
    ELSE IF @SehirAd = 'Şırnak'
    BEGIN
        SET @AlanKodu = 486;
    END;
    ELSE IF @SehirAd = 'Tekirdağ'
    BEGIN
        SET @AlanKodu = 282;
    END;
    ELSE IF @SehirAd = 'Tokat'
    BEGIN
        SET @AlanKodu = 356;
    END;
    ELSE IF @SehirAd = 'Trabzon'
    BEGIN
        SET @AlanKodu = 462;
    END;
    ELSE IF @SehirAd = 'Tunceli'
    BEGIN
        SET @AlanKodu = 428;
    END;
    ELSE IF @SehirAd = 'Uşak'
    BEGIN
        SET @AlanKodu = 276;
    END;
    ELSE IF @SehirAd = 'Van'
    BEGIN
        SET @AlanKodu = 432;
    END;
    ELSE IF @SehirAd = 'Yalova'
    BEGIN
        SET @AlanKodu = 226;
    END;
    ELSE IF @SehirAd = 'Yozgat'
    BEGIN
        SET @AlanKodu = 354;
    END;
    ELSE IF @SehirAd = 'Zonguldak'
    BEGIN
        SET @AlanKodu = 372;
    END;
    ELSE
    BEGIN
        SET @AlanKodu = 0;
    END;
    RETURN @AlanKodu;
END;
GO


--Kullanımı

SELECT dbo.IleGoreAlanKoduBulma('BURSA');
SELECT dbo.IleGoreAlanKoduBulma('bursa');

Fonksiyonu oluşturup çalıştırdığınızda aşağıdaki gibi bir sonuç göreceksiniz.

Görüldüğü üzere şehir adına göre telefon kodu getirilmiş oldu.

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

SQL Server Eğitimleri Kanalına Abone Olun

Yazar Hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Yavuz Selim Kart
SQL Server ile ilgili her şey.

Yazar

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.