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.
