2010-12-10 16 views
7

SQL'de BIGINT alan türünün sınırı nedir?SQL'de BIGINT alan türünün sınırı nedir?

100000235882380 veya 100000466411115 kabul edilebilir midir? int, bigint, smallint, and tinyint (Transact-SQL) göre

+7

-1: Kullandığınız RDBMS'den bahsetmeden ve yanıt muhtemelen RTFM tarafından veya bir arama motoru kullanılarak kolayca yapılabilir. – bjoernz

+0

Taşınabilirlik için, bunun yerine bir dize kullanmak isteyebilirsiniz. Benim durumumda, Base64 kullanarak ikişer tamamlayıcı değerini (BigInteger.toBytes) kodladım ve veritabanına erişirken bunu araştırdım. –

cevap

25
+1

SQL Server dışında bir BIGINT türü olan başka bir RDMS var mı? Belki benzer bir tür ama OP'in SQL Server kullanıyor olduğu sonucuna varmak adil. –

+6

MySQL, Postgres ... SQL Server kullanıcıları yerine * SQL Server dışındaki BIGINT * ile daha fazla RDBMS kullanıcısı var. –

+0

İyi nokta! Düzeltilmeye hazırlanıyorum ... :) –

4

Evet (Yani facebook dan kimliğidir):

Bigint-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807)

0

Endişelenecek bir şey yok. BIGINT sahip olduğunuzdan çok daha büyük değerler saklayabilir.

En az 9,223,372,036,854,775,807'ye kadar.

2

RDBMS'ye bağlıdır. Örneğin, bir BIGINT'in maxiumum değerleri, MySQL üzerinde 9223372036854775807 (imzalı için) veya 18446744073709551615 (imzasız için) şeklindedir.

Tüm ayrıntılar için belgelerin Numeric Types bölümüne bakın.

+1

Bunun, MySQL için olduğunu unutmayın, diğer veritabanı platformları aynı sınırlara sahip olabilir veya olmayabilir (alas, OP hangi SQL db'nin belirtildiğini belirtmedi). – Piskvor

+0

@Piskvor - İyi bir çağrı, benim tarafımdan çok uzak bir varsayım. Cevabımı güncelleyeceğim. :-) –

0

-9 223 372 036 854 775 808 223 372 036 854 775 807

Ama bu google kolayca bulunabilir 9.

İlgili konular