Yanıtlar:
Bu , 64 bitlik bir tam sayı olan uzun (veya Int64 ) değerine karşılık gelir .
Veritabanındaki sayı yeterince küçük olsa ve yanlışlıkla bir Int32 vb. Kullanıyorsanız, iyi olacaksınız. Ancak Int64 bunu kesinlikle tutacaktır.
Ve daha küçük bir şey kullanırsanız ve tam boy gerekiyorsa aldığınız hata? Bir yığın taşması! Yaşasın!
long
'da büyük harf kullanılmaz.
Sadece bir ekin birincil anahtarını döndüren ve bir
SELECT @@identity
bigint birincil anahtarımda ve uzun kullanarak bir döküm hatası alıyorum - bu yüzden bu aramayı başlattım. En azından benim durumumda doğru cevap, bu seçim tarafından döndürülen türün ondalık türe eşit NUMERIC olmasıdır. Uzun bir süre kullanılması, bir istisna oluşturur.
Yanıtlarınızı birden fazla Google aramasında (hatta Stack Overflow'da bile) kontrol etmenin bir nedeni budur.
Bana yardımcı olan bir veritabanı yöneticisine teklif vermek için:
... BigInt, ne kadar çok göründükleri önemli değil, INT64 ile aynı değil. Bunun nedeni, SQL'in Int / BigInt'i normal işlemenin bir parçası olarak sıklıkla Sayısal'a dönüştürmesidir. Bu nedenle, OLE veya .NET'e gittiğinde, gerekli dönüşüm INT için NUMERIC olur.
Yazdırılan değer aynı göründüğü için sık sık fark etmiyoruz. "
Uzun bir veri türü kullanın.
Sen kullanabilirsiniz long
türünü veyaInt64
Bence eşdeğer Int64
int SQL doğrudan eşleşir int32 da basit tür, yani olarak bilinen int içinde C # oysa
Bigint Sql Server doğrudan eşler Int64 yani aynı zamanda ilkel bir tür olarak biliyor uzun yılında C #
Burada tamsayıya tamsayı tanımlanmışsa açık bir dönüşüm
Çoğu durumda c # 'de uzun (int64)