Orta Seviye SQL Server Sql Server

SQL Server’da TC Kimlik Numarası Doğrulayan Fonksiyon

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu kısımda SQL Server’da TC Kimlik Numarası doğrulayan fonksiyon kodları olacak

CREATE FUNCTION FN_TCNOKONTROL (@TcNo Bigint)
RETURNS NVARCHAR(20)
AS
BEGIN
      DECLARE @ATCNO Bigint
      DECLARE @BTCNO Bigint
      DECLARE @Deger1    Tinyint
      DECLARE @Deger2    Tinyint
      DECLARE @Deger3    Tinyint
      DECLARE @Deger4    Tinyint
      DECLARE @Deger5    Tinyint
      DECLARE @Deger6    Tinyint
      DECLARE @Deger7    Tinyint
      DECLARE @Deger8    Tinyint
      DECLARE @Deger9    Tinyint
      DECLARE @Q1    Int
      DECLARE @Q2    Int
      DECLARE @SONUC Bit 
	  DECLARE @metin NVARCHAR(50)      
      SET @ATCNO = @TcNo / 100
      SET @BTCNO = @TcNo / 100       
      IF LEN(CONVERT(VARCHAR(19),@TcNo)) = 11
      BEGIN
            SET @Deger1 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger2 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger3 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger4 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger5 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger6 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger7 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger8 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Deger9 = @ATCNO % 10 SET @ATCNO = @ATCNO / 10
            SET @Q1 = ((10-((((@Deger1+@Deger3+@Deger5+@Deger7+@Deger9)*3)+(@Deger2+@Deger4+@Deger6+@Deger8)) % 10))%10)
            SET @Q2 = ((10-(((((@Deger2+@Deger4+@Deger6+@Deger8)+@Q1)*3)+(@Deger1+@Deger3+@Deger5+@Deger7+@Deger9))%10))%10)       
            IF (@BTCNO * 100)+(@Q1 * 10)+@Q2 = @TcNo SET @SONUC = 1 ELSE SET @SONUC = 0
      END
      ELSE SET @SONUC = 0    

	IF (@SONUC=1)
		BEGIN
			SET @metin='Doğru bir TC Kimlik'
		END
	ELSE
		BEGIN
			SET @metin='Yanlış bir TC Kimlik'
		END

RETURN @metin

END 


--Çalıştırılması işlemi
SELECT dbo.FN_TCNOKONTROL(35775881138)

 

136 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!
Ads Blocker Image Powered by Code Help Pro
Reklam Eklentisi Kullanıyorsunuz

Lütfen bizlere destek için reklam eklentisi olmadan sitemizi ziyaret edin.

Şimdiden teşekkür ederiz.

Powered By
CHP Adblock Detector Plugin | Codehelppro