Forum

T-SQL ile Rastgele ...
 
Bildirimler
Hepsini Temizle

[Çözüldü] T-SQL ile Rastgele T.C. Kimlik Numarası Oluşturma

3 Yazılar
2 Üyeler
0 Likes
6,905 Görüntüleme
Sait ORHAN
(@saitorhan)
Gönderiler: 46
Trusted Member
Konu başlatıcı
 

Veri çalışmalarında kullanılmak üzere gerçeğe yakın veriler oluşturmaya çalışılmaktadır. Bu işlem için rastgele kimlik numarası oluşturmak için aşağıdaki fonksiyonu kullanabilirsiniz.

Fonksiyonu oluşturmadan önce T-SQL kodunun başında yer alan tablo tipi ve view'ın oluşturulması gerekmektedir.

Tablo Tipi:

create type NumbersTable as table(
Id int,
Number int
)

Oluşturulacak View Kodu:

create view GetRand
as
select RAND() as Value

Kimlik numarası oluşturma fonksiyonu:

create function GetIdNumber()
returns char(11)
as
begin

declare @toplam1 int, @toplam2 int, @i int, @kimlikNo char(11), @temp int, @rand float
declare @Numbers NumbersTable

select @rand = Value from GetRand
set @temp = convert(int,  @rand * 9 + 1)
insert into @Numbers values(1, @temp)

set @i = 2
while @i < 10
begin
select @rand = Value from GetRand
set @temp = convert(int,  @rand * 10)
insert into @Numbers values(@i, @temp)

set @i = @i +1
end

select @toplam1 = SUM(Number) * 7 from @Numbers where Id in (1,3,5,7,9)
select @toplam2= SUM(Number) from @Numbers where Id in (2,4,6,8)
set @temp = (@toplam1 - @toplam2) % 10
insert into @Numbers values(10, @temp)

select @temp = SUM(Number) % 10  from @Numbers 
insert into @Numbers values(11, @temp)

select @kimlikNo = SUBSTRING((select '' + CAST(Number as varchar) from @Numbers for xml path('')), 0 ,2000)
return @kimlikNo
end

 
 
 
 
 

---------
Sait ORHAN
Bilgisayar Mühendisi
Web: http://saitorhan.com

 
Gönderildi : 07/12/2020 09:59

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32994
Illustrious Member Yönetici
 

Eline sağlık.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 07/12/2020 11:37

Sait ORHAN
(@saitorhan)
Gönderiler: 46
Trusted Member
Konu başlatıcı
 

@hakanuzuner Teşekkür ederim hocam

---------
Sait ORHAN
Bilgisayar Mühendisi
Web: http://saitorhan.com

 
Gönderildi : 07/12/2020 12:15

Paylaş: