• 29-07-2021, 21:55:09
    #1
    SQL de 9 haneli sayıları procedure ile oluşturup tabloya yazdırmam lazım. Örnek;
    000000001
    000000002
    000000003
    .
    .
    .
    000005043
    000005044

    gibi. Bu sayıları üretebilmem için veri tipini ne yapmam gerekiyor. Aradaki sıfırlar benim için önemli tabloya da bu şekilde yazılması lazım.
  • 29-07-2021, 22:00:05
    #3
    THEX3T4R adlı üyeden alıntı: mesajı görüntüle
    long int
    mssql de longint diye bir veritipi yok diye biliyorum. Bahsettiğiniz bigint ise o baştaki sıfırları siliyor.
  • 29-07-2021, 22:04:38
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Huskar adlı üyeden alıntı: mesajı görüntüle
    mssql de longint diye bir veritipi yok diye biliyorum. Bahsettiğiniz bigint ise o baştaki sıfırları siliyor.
    öyle bişe yok diye biliyorum. sonradan stringe çevirirsin ardından eklersin
  • 29-07-2021, 22:05:02
    #5
    Huskar adlı üyeden alıntı: mesajı görüntüle
    mssql de longint diye bir veritipi yok diye biliyorum. Bahsettiğiniz bigint ise o baştaki sıfırları siliyor.
    String olarak kaydedip daha sonrasında type casting yapabilirsin.

    Sıfırların işlevi olmaması çok normal ve doğru olan bu. Bu yöntemde ise data layer kısmı bu şekilde olur, business kısmında belli bir standartta formatlayıp gösterimini sağlayabilirsin.
  • 29-07-2021, 22:05:10
    #6
    Sanırım numerik olarak bu şekilde bir girdi yapılamaz. VarChar(9) text olarak girdi yapabilirsiniz. Veya int girişi yapıp veri çekerken sayının başını 0 la doldurabilirsiniz
  • 29-07-2021, 22:06:43
    #7
    aslında Code First Tarafında yapılıyor.
    Double ve Float gibi düşünebilirsiniz. bknz.

    Ek olarak bu döküman işinizi görecektir.
    https://docs.microsoft.com/en-us/sql...l-server-ver15
  • 30-07-2021, 06:07:02
    #8
    Leading zero - veri tabanina oncu sifirlar eklemene gerek yok. secerken format yapabilirsin (sql tarafinda) veyauygulama tarafinda

    ornek

    http://sqlfiddle.com/#!18/1f562/3


    create table r10
    ( sayi int
    );
    
    insert into r10 (sayi)values (1),(2);
    
    select sayi, FORMAT(sayi,'D3'),  FORMAT(sayi,'D10') from r10
    
    
    1    001     0000000001
    2    002     0000000002